[1/4] eventdev: have crypto adapter appropriately report idle

Message ID 20221010145406.118880-2-mattias.ronnblom@ericsson.com (mailing list archive)
State Accepted, archived
Delegated to: Jerin Jacob
Headers
Series Have event adapters report idle status |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Mattias Rönnblom Oct. 10, 2022, 2:54 p.m. UTC
  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@ericsson.com>
---
 lib/eventdev/rte_event_crypto_adapter.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
  

Comments

Gujjar, Abhinandan S Oct. 17, 2022, 5:47 a.m. UTC | #1
Acked-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>

> -----Original Message-----
> From: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
> Sent: Monday, October 10, 2022 8:24 PM
> To: Jayatheerthan, Jay <jay.jayatheerthan@intel.com>; Carrillo, Erik G
> <erik.g.carrillo@intel.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar@intel.com>; Jerin Jacob <jerinj@marvell.com>
> Cc: dev@dpdk.org; Van Haaren, Harry <harry.van.haaren@intel.com>;
> hofors@lysator.liu.se; mattias.ronnblom <mattias.ronnblom@ericsson.com>
> Subject: [PATCH 1/4] eventdev: have crypto adapter appropriately report idle
> 
> 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@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
  

Patch

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