[PATCH v2 1/5] eventdev/event_crypto: process event port's impl rel cap

Kundapura, Ganapati ganapati.kundapura at intel.com
Wed Dec 7 07:53:17 CET 2022


Hi Abhi,

> -----Original Message-----
> From: Gujjar, Abhinandan S <abhinandan.gujjar at intel.com>
> Sent: Tuesday, December 6, 2022 9:14 PM
> To: Kundapura, Ganapati <ganapati.kundapura at intel.com>; dev at dpdk.org;
> jerinj at marvell.com; Naga Harish K, S V <s.v.naga.harish.k at intel.com>
> Cc: Jayatheerthan, Jay <jay.jayatheerthan at intel.com>
> Subject: RE: [PATCH v2 1/5] eventdev/event_crypto: process event port's
> impl rel cap
> 
> 
> 
> > -----Original Message-----
> > From: Kundapura, Ganapati <ganapati.kundapura at intel.com>
> > Sent: Thursday, December 1, 2022 12:17 PM
> > To: dev at dpdk.org; jerinj at marvell.com; Naga Harish K, S V
> > <s.v.naga.harish.k at intel.com>; Gujjar, Abhinandan S
> > <abhinandan.gujjar at intel.com>
> > Cc: Jayatheerthan, Jay <jay.jayatheerthan at intel.com>
> > Subject: [PATCH v2 1/5] eventdev/event_crypto: process event port's
> > impl rel cap
> >
> > In the current implementation adapter queries event device's
> > capability for implicit release support.
> >
> > This information is used to decide whether events are enqueued back as
> > NEW or FWD events.
> >
> > This patch updates the adapter to query the port caps for implicit
> > release to decide on events enqueuing back as NEW/FWD events.
> >
> > Signed-off-by: Ganapati Kundapura <ganapati.kundapura at intel.com>
> > ---
> > v2:
> > * Updated subject line in commit message
> >
> > diff --git a/lib/eventdev/rte_event_crypto_adapter.c
> > b/lib/eventdev/rte_event_crypto_adapter.c
> > index 3c585d7..1c0a22b 100644
> > --- a/lib/eventdev/rte_event_crypto_adapter.c
> > +++ b/lib/eventdev/rte_event_crypto_adapter.c
> > @@ -53,7 +53,7 @@ struct event_crypto_adapter {
> >  	uint8_t eventdev_id;
> >  	/* Event port identifier */
> >  	uint8_t event_port_id;
> > -	/* Store event device's implicit release capability */
> > +	/* Store event port's implicit release capability */
> >  	uint8_t implicit_release_disabled;
> >  	/* Flag to indicate backpressure at cryptodev
> >  	 * Stop further dequeuing events from eventdev @@ -320,7 +320,6
> @@
> > rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,  {
> >  	struct event_crypto_adapter *adapter;
> >  	char mem_name[CRYPTO_ADAPTER_NAME_LEN];
> > -	struct rte_event_dev_info dev_info;
> >  	int socket_id;
> >  	uint8_t i;
> >  	int ret;
> > @@ -361,17 +360,6 @@ rte_event_crypto_adapter_create_ext(uint8_t id,
> > uint8_t dev_id,
> >  		return -ENOMEM;
> >  	}
> >
> > -	ret = rte_event_dev_info_get(dev_id, &dev_info);
> > -	if (ret < 0) {
> > -		RTE_EDEV_LOG_ERR("Failed to get info for eventdev %d:
> > %s!",
> > -				 dev_id, dev_info.driver_name);
> > -		eca_circular_buffer_free(&adapter->ebuf);
> > -		rte_free(adapter);
> > -		return ret;
> > -	}
> > -
> > -	adapter->implicit_release_disabled = (dev_info.event_dev_cap &
> > -			RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE);
> >  	adapter->eventdev_id = dev_id;
> >  	adapter->socket_id = socket_id;
> >  	adapter->conf_cb = conf_cb;
> > @@ -837,6 +825,7 @@ eca_init_service(struct event_crypto_adapter
> > *adapter, uint8_t id)
> >  	struct rte_event_crypto_adapter_conf adapter_conf;
> >  	struct rte_service_spec service;
> >  	int ret;
> > +	uint32_t impl_rel;
> >
> >  	if (adapter->service_inited)
> >  		return 0;
> > @@ -866,6 +855,17 @@ eca_init_service(struct event_crypto_adapter
> > *adapter, uint8_t id)
> >
> >  	adapter->max_nb = adapter_conf.max_nb;
> >  	adapter->event_port_id = adapter_conf.event_port_id;
> > +
> > +	if (rte_event_port_attr_get(adapter->eventdev_id,
> > +				adapter->event_port_id,
> > +
> > 	RTE_EVENT_PORT_ATTR_IMPLICIT_RELEASE_DISABLE,
> > +				&impl_rel)) {
> > +		RTE_EDEV_LOG_ERR("Failed to get port info for eventdev %"
> > PRId32,
> > +				 adapter->eventdev_id);
> You need to free memory allocated for adapter + adapter->ebuf before
> returning error
Updated in V3
> > +		return -EINVAL;
> > +	}
> > +
> > +	adapter->implicit_release_disabled = (uint8_t)impl_rel;
> >  	adapter->service_inited = 1;
> >
> >  	return ret;
> > --
> > 2.6.4



More information about the dev mailing list