I'm not see any issue with original code, can you give more details about crash so I can try to reproduce at my end.
cc kirill.rybalchenko@intel.com for review
From: Yong Liang <1269690261@qq.com>
Sent: 18 September 2024 15:15
To: dev@dpdk.org <dev@dpdk.org>
Cc: roy.fan.zhang@intel.com <roy.fan.zhang@intel.com>
Subject: [PATCH] crypto/scheduler: fix incorrect variable usage
The variable `pending_deq_ops` was incorrectly used
instead of `pending_enq_ops`.
This causes the program to crash
when the worker PMD accesses the session
Bugzilla ID: 1537
Fixes: 6812b9bf470e ("crypto/scheduler: use unified session")
Cc: roy.fan.zhang@intel.com
Signed-off-by: Yong Liang <1269690261@qq.com>
---
drivers/crypto/scheduler/scheduler_multicore.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/crypto/scheduler/scheduler_multicore.c b/drivers/crypto/scheduler/scheduler_multicore.c
index a21b522f9f..70f8a25b70 100644
--- a/drivers/crypto/scheduler/scheduler_multicore.c
+++ b/drivers/crypto/scheduler/scheduler_multicore.c
@@ -191,11 +191,11 @@ mc_scheduler_worker(struct rte_cryptodev *dev)
worker->qp_id,
&enq_ops[pending_enq_ops_idx],
pending_enq_ops);
- if (processed_ops < pending_deq_ops)
+ if (processed_ops < pending_enq_ops)
scheduler_retrieve_sessions(
&enq_ops[pending_enq_ops_idx +
processed_ops],
- pending_deq_ops - processed_ops);
+ pending_enq_ops - processed_ops);
pending_enq_ops -= processed_ops;
pending_enq_ops_idx += processed_ops;
inflight_ops += processed_ops;
--
2.43.0