<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);">
> On 03/12/2024 18:43, Kevin Traynor wrote:</div>
<div class="elementToProof" style="font-size: 11pt;">>> On 27/11/2024 18:48, Alexander Kozyrev wrote:<br>
>>> [ upstream commit 3cddeba0ca38b00c7dc646277484d08a4cb2d862 ]<br>
>>><br>
>>> The completion queue element size can be independently configured<br>
>>> to report either 64 or 128 bytes CQEs by programming cqe_sz parameter<br>
>>> at CQ creation. This parameter depends on the cache line size and<br>
>>> affects both regular CQEs and error CQEs. But the error handling<br>
>>> assumes that an error CQE is 64 bytes and doesn't take the padding<br>
>>> into consideration on platforms with 128-byte cache lines.<br>
>>> Fix the error CQE size in all error handling routines in mlx5.<br>
>>><br>
>> Hi Alexander,<br>
>><br>
>> This is causing a build error [1] on windows in the crypto code [2].<br>
>><br>
>> ref<br>
>> <a href="https://dpdkdashboard.iol.unh.edu/results/dashboard/testruns/logs/1475543/" id="OWA8d357923-4646-9541-fe64-899a8157de2b" class="OWAAutoLink" data-auth="NotApplicable">
https://dpdkdashboard.iol.unh.edu/results/dashboard/testruns/logs/1475543/</a><br>
>><br>
>> I didn't spend time to analyse. If you have a fix I can apply, or else<br>
>> we can drop the patch.<br>
>><br>
>> thanks,<br>
>> Kevin.<br>
>><br>
>> [1]<br>
>> ../drivers/crypto/mlx5/mlx5_crypto.c<br>
>> ../drivers/crypto/mlx5/mlx5_crypto.c:480:52: error: incomplete<br>
>> definition of type 'struct mlx5_err_cqe'<br>
>>         DRV_LOG(ERR, "CQE ERR:%x.\n", rte_be_to_cpu_32(cqe->syndrome));<br>
>>                                                        ~~~^<br>
>> [2]<br>
>> mlx5_crypto_cqe_err_handle(struct mlx5_crypto_qp *qp, struct<br>
>> rte_crypto_op *op)<br>
>> {<br>
>>        const uint32_t idx = qp->ci & (qp->entries_n - 1);<br>
>>        volatile struct mlx5_err_cqe *cqe = (volatile struct mlx5_err_cqe *)<br>
>>                                                        &qp->cq_obj.cqes[idx];<br>
>><br>
>>        op->status = RTE_CRYPTO_OP_STATUS_ERROR;<br>
>>        qp->stats.dequeue_err_count++;<br>
>>        DRV_LOG(ERR, "CQE ERR:%x.\n", rte_be_to_cpu_32(cqe->syndrome));<br>
>> }<br>
>><br>
><br>
> btw, the code that was run is ahead of the 21.11 branch.<br>
><br>
> It is at: <a href="https://dpdk.org/git/dpdk-stable" id="OWAfe1f6e1e-4f90-a0be-79c3-09adbbd8e876" class="OWAAutoLink" data-auth="NotApplicable">
https://dpdk.org/git/dpdk-stable</a> on branch 21.11-staging</div>
<div class="elementToProof" style="font-size: 11pt;"><br>
</div>
<div class="elementToProof" style="font-size: 11pt; color: rgb(0, 0, 0);">Sorry, somehow missed the crypto driver on 21.11. Attaching the proper patch.</div>
<div class="elementToProof" style="font-size: 11pt;"><br>
</div>
</body>
</html>