* [PATCH] net/mlx5/hws: fix send queue drain on FW WQE destroy
@ 2025-04-27 11:28 Maayan Kashani
0 siblings, 0 replies; only message in thread
From: Maayan Kashani @ 2025-04-27 11:28 UTC (permalink / raw)
To: dev
Cc: mkashani, dsosnowski, rasland, stable, Alex Vesker,
Viacheslav Ovsiienko, Bing Zhao, Ori Kam, Suanming Mou,
Matan Azrad
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@dpdk.org
Signed-off-by: Alex Vesker <valex@nvidia.com>
Signed-off-by: Maayan Kashani <mkashani@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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-04-27 11:28 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-04-27 11:28 [PATCH] net/mlx5/hws: fix send queue drain on FW WQE destroy Maayan Kashani
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).