On Mon, Nov 13, 2023 at 11:01 AM Srikanth Yalavarthi
<syalavar...@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 <syalavar...@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
>

Reply via email to