[dpdk-dev] [PATCH] event/rx_adapter: fix ignore return of event start

Jerin Jacob jerin.jacob at caviumnetworks.com
Fri Feb 2 13:12:37 CET 2018


-----Original Message-----
> Date: Fri, 2 Feb 2018 10:04:20 +0000
> From: "Rao, Nikhil" <nikhil.rao at intel.com>
> To: "Varghese, Vipin" <vipin.varghese at intel.com>, Jerin Jacob
>  <jerin.jacob at caviumnetworks.com>
> CC: "dev at dpdk.org" <dev at dpdk.org>, "Jacob,  Jerin"
>  <Jerin.JacobKollanukkaran at cavium.com>, "Van Haaren, Harry"
>  <harry.van.haaren at intel.com>, Hemant Agrawal <hemant.agrawal at nxp.com>,
>  "Jain, Deepak K" <deepak.k.jain at intel.com>
> Subject: RE: [PATCH] event/rx_adapter: fix ignore return of event start
> 
> 
> > -----Original Message-----
> > From: Varghese, Vipin
> > Sent: Friday, February 2, 2018 1:39 PM
> > To: Jerin Jacob <jerin.jacob at caviumnetworks.com>; Rao, Nikhil
> > <nikhil.rao at intel.com>
> > Cc: dev at dpdk.org; Jacob, Jerin <Jerin.JacobKollanukkaran at cavium.com>; Van
> > Haaren, Harry <harry.van.haaren at intel.com>; Hemant Agrawal
> > <hemant.agrawal at nxp.com>; Jain, Deepak K <deepak.k.jain at intel.com>
> > Subject: RE: [PATCH] event/rx_adapter: fix ignore return of event start
> > 
> > 
> > 
> > > -----Original Message-----
> > > From: Jerin Jacob [mailto:jerin.jacob at caviumnetworks.com]
> > > Sent: Wednesday, January 31, 2018 6:54 AM
> > > To: Rao, Nikhil <nikhil.rao at intel.com>
> > > Cc: Varghese, Vipin <vipin.varghese at intel.com>; dev at dpdk.org; Jacob,
> > > Jerin <Jerin.JacobKollanukkaran at cavium.com>; Van Haaren, Harry
> > > <harry.van.haaren at intel.com>; Hemant Agrawal
> > <hemant.agrawal at nxp.com>;
> > > Jain, Deepak K <deepak.k.jain at intel.com>
> > > Subject: Re: [PATCH] event/rx_adapter: fix ignore return of event
> > > start
> > >
> > > -----Original Message-----
> > > >
> > > >
> > > > Adding eventdev PMD folks for their suggestions on how to handle the
> > > > return
> > > value from rte_event_dev_start() below.
> > > >
> > > > > -----Original Message-----
> > > > > From: Varghese, Vipin
> > > > > Sent: Wednesday, January 31, 2018 4:26 AM
> > > > > To: dev at dpdk.org; Rao, Nikhil <nikhil.rao at intel.com>
> > > > > Cc: Jain, Deepak K <deepak.k.jain at intel.com>; Varghese, Vipin
> > > > > <vipin.varghese at intel.com>
> > > > > Subject: [PATCH] event/rx_adapter: fix ignore return of event
> > > > > start
> > > > >
> > > > > Capture the return value for rte_event_dev_start. Return the
> > > > > result back to user.
> > > > >
> > > > > Coverity issue: 257000
> > > > > Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter
> > > > > implementation")
> > > > > Cc: nikhil.rao at intel.com
> > > > >
> > > > > Signed-off-by: Vipin Varghese <vipin.varghese at intel.com>
> > > > > ---
> > > > >  lib/librte_eventdev/rte_event_eth_rx_adapter.c | 4 ++--
> > > > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > > >
> > > > > diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> > > > > b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> > > > > index 90106e6..a818bef 100644
> > > > > --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> > > > > +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> > > > > @@ -603,7 +603,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
> > > > >  		RTE_EDEV_LOG_ERR("failed to configure event dev %u\n",
> > > > >  						dev_id);
> > > > >  		if (started)
> > > > > -			rte_event_dev_start(dev_id);
> > > > > +			ret = rte_event_dev_start(dev_id);
> > > >
> > > > Currently the a non-zero return value at this point signifies an
> > > > error returned
> > > from rte_event_dev_configure(),  so I suggest that the return value is
> > > typecasted to void.
> > >
> > > If I understand it correctly, Any one of the failure(configure() or
> > > start()) should result in bad state. Right?
> > > i.e If some reason PMD is not able to start() even after failure
> > > configuration() would result in bad state.
> > > If so, one option could be combine the error like ret |= operation or
> > > create a new logical error in Rx adapter which denotes this new error.
> > >
> > 
> > So do we agree to ACK these changes to get the code fix to the mainline? 
> 
> Sorry, if my original email wasn't clear,  if rte_event_dev_configure() returns an error and rte_eventdev_start() returns success that would be a problem, i.e., the fix is incorrect.
> 
> Of the 2 options suggested by Jerin - Since ret is not a bitmask  ret |= wouldn't work, if I understand the option correctly . A new error would work.
> 
> How about EIO ? and we also update the documentation to indicate that the event device would be in a stopped state if the return code is EIO.

+1 for new error. You may consider EBUSY or EINPROGRESS also.No strong opinion for the name.



More information about the dev mailing list