[PATCH] net/mlx5/hws: fix send queue drain on FW WQE destroy
Patrick Robb
probb at iol.unh.edu
Tue Apr 29 01:58:42 CEST 2025
Recheck-request: iol-intel-Performance
Looks like this patch was affected by an infra failure - putting in a
retest request for the CI testing system.
On Sun, Apr 27, 2025 at 7:28 AM Maayan Kashani <mkashani at nvidia.com> wrote:
> Queue sync operation was skipped on rule destroy.
> Unlike on fw wqe rule create in which both fence and notify_hw
> are set to true, on destroy fence was set to false causing
> previous queue operation to be stuck in the queue forever.
> Example:
> rule_a - HW rule, rule_b - FW WQE rule.
> Sequence:
> rule_a destroy, burst=1 (HW rule put to queue but no DB)
> rule_b destroy, burst=0 (FW WQE rule cmd but no queue sync)
> Outcome:
> rule_a is stuck forever in the queue - no completion.
>
> Fixes: 338aaf911665 ("net/mlx5/hws: add send FW match STE using gen WQE")
> Cc: stable at dpdk.org
>
> Signed-off-by: Alex Vesker <valex at nvidia.com>
> Signed-off-by: Maayan Kashani <mkashani at nvidia.com>
> ---
> drivers/net/mlx5/hws/mlx5dr_send.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/mlx5/hws/mlx5dr_send.c
> b/drivers/net/mlx5/hws/mlx5dr_send.c
> index e121c7f7ed5..d01fc7ef2ca 100644
> --- a/drivers/net/mlx5/hws/mlx5dr_send.c
> +++ b/drivers/net/mlx5/hws/mlx5dr_send.c
> @@ -339,7 +339,7 @@ void mlx5dr_send_stes_fw(struct mlx5dr_send_engine
> *queue,
> pdn = ctx->pd_num;
>
> /* Writing through FW can't HW fence, therefore we drain the queue
> */
> - if (send_attr->fence)
> + if (send_attr->fence || send_attr->notify_hw)
> mlx5dr_send_queue_action(ctx,
> queue_id,
>
> MLX5DR_SEND_QUEUE_ACTION_DRAIN_SYNC);
> --
> 2.21.0
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/dev/attachments/20250428/909e29dc/attachment.htm>
More information about the dev
mailing list