[PATCH v1 1/1] ml/cnxk: fix fast-path synchronization
Jerin Jacob
jerinjacobk at gmail.com
Mon Nov 13 16:56:58 CET 2023
On Mon, Nov 13, 2023 at 11:01 AM Srikanth Yalavarthi
<syalavarthi at marvell.com> wrote:
>
> Segfaults are reported with TVM/LLVM models as NULL value
> is read by dequeue thread for the op handle. This is due
> synchronization issue between enqueue and dequeue threads.
>
> This fix ensures the op handle written to internal request
> structure is committed before the dequeue threads read the
> handle value.
>
> Fixes: 88001b4d88de ("ml/cnxk: update fast path functions")
>
> Signed-off-by: Srikanth Yalavarthi <syalavarthi at marvell.com>
Applied to dpdk-next-net-mrvl/for-next-net. Thanks
> ---
> drivers/ml/cnxk/cnxk_ml_ops.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/ml/cnxk/cnxk_ml_ops.c b/drivers/ml/cnxk/cnxk_ml_ops.c
> index 81866ceaa6..971362b242 100644
> --- a/drivers/ml/cnxk/cnxk_ml_ops.c
> +++ b/drivers/ml/cnxk/cnxk_ml_ops.c
> @@ -1596,6 +1596,7 @@ cnxk_ml_enqueue_burst(struct rte_ml_dev *dev, uint16_t qp_id, struct rte_ml_op *
> jcmdq_full:
> queue->head = head;
> qp->stats.enqueued_count += count;
> + rte_wmb();
>
> return count;
> }
> --
> 2.42.0
>
More information about the dev
mailing list