[PATCH 1/4] eventdev: have crypto adapter appropriately report idle
Mattias Rönnblom
mattias.ronnblom at ericsson.com
Mon Oct 10 16:54:03 CEST 2022
Update the event crypto adapter's service function to report as idle
(i.e., return -EAGAIN) in case no crypto operations were performed.
Signed-off-by: Mattias Rönnblom <mattias.ronnblom at ericsson.com>
---
lib/eventdev/rte_event_crypto_adapter.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/lib/eventdev/rte_event_crypto_adapter.c b/lib/eventdev/rte_event_crypto_adapter.c
index a11cbcf4f3..59777726f6 100644
--- a/lib/eventdev/rte_event_crypto_adapter.c
+++ b/lib/eventdev/rte_event_crypto_adapter.c
@@ -771,7 +771,7 @@ eca_crypto_adapter_deq_run(struct event_crypto_adapter *adapter,
return nb_deq;
}
-static void
+static int
eca_crypto_adapter_run(struct event_crypto_adapter *adapter,
unsigned int max_ops)
{
@@ -791,22 +791,26 @@ eca_crypto_adapter_run(struct event_crypto_adapter *adapter,
}
- if (ops_left == max_ops)
+ if (ops_left == max_ops) {
rte_event_maintain(adapter->eventdev_id,
adapter->event_port_id, 0);
+ return -EAGAIN;
+ } else
+ return 0;
}
static int
eca_service_func(void *args)
{
struct event_crypto_adapter *adapter = args;
+ int ret;
if (rte_spinlock_trylock(&adapter->lock) == 0)
return 0;
- eca_crypto_adapter_run(adapter, adapter->max_nb);
+ ret = eca_crypto_adapter_run(adapter, adapter->max_nb);
rte_spinlock_unlock(&adapter->lock);
- return 0;
+ return ret;
}
static int
--
2.34.1
More information about the dev
mailing list