[dpdk-dev] [PATCH] net/e1000: do not error out if rx_drop_en is set

Zhao1, Wei wei.zhao1 at intel.com
Wed Oct 10 09:25:02 CEST 2018


Acked-by: Wei Zhao <wei.zhao1 at intel.com>


> -----Original Message-----
> From: Luca Boccassi [mailto:bluca at debian.org]
> Sent: Monday, October 8, 2018 10:14 PM
> To: Zhao1, Wei <wei.zhao1 at intel.com>; dev at dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu at intel.com>; stable at dpdk.org; Zhang, Qi Z
> <qi.z.zhang at intel.com>; 3chas3 at gmail.com
> Subject: Re: [dpdk-dev] [PATCH] net/e1000: do not error out if rx_drop_en is
> set
> 
> On Mon, 2018-10-08 at 08:43 +0000, Zhao1, Wei wrote:
> > Hi,  Luca Boccassi
> >
> > > -----Original Message-----
> > > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Luca Boccassi
> > > Sent: Saturday, July 28, 2018 1:26 AM
> > > To: dev at dpdk.org
> > > Cc: Lu, Wenzhuo <wenzhuo.lu at intel.com>; Luca Boccassi
> > > <bluca at debian.org>; stable at dpdk.org
> > > Subject: [dpdk-dev] [PATCH] net/e1000: do not error out if
> > > rx_drop_en is set
> > >
> > > rx_drop_en is an optimization that does nothing on single-queue
> > > devices like e1000. Do not force applications that do not care to
> > > select per- devices
> >
> > And aslo, eth_em_rx_queue_setup support set up of multiple queues for
> > EM device.
> >
> > > optimizations flags by returning an error, just log it and carry on.
> >
> > rx_drop_en is a flag to enable receive packets drop when insufficient
> > receive descriptors exist to write the packet into system memory.
> > if we delete this parameter check protection, it may be misleading
> > some applications for this point, why does not give some requirement
> > for proper usage of this? I do not suggest for this change.
> > You can also refer to function eth_igb_rx_queue_setup(), igb device
> > support rx_drop_en set, so we do not have a such parameter check.
> 
> Hi,
> 
> As mentioned, because given it does nothing it's not worth aborting the
> program with an error. Logging a notice level message and carrying on is
> sufficient.
> We should try not make it harder than necessary for application developers.
> 
> > >
> > > Fixes: 805803445a02 ("e1000: support EM devices (also known as
> > > e1000/e1000e)")
> > > Cc: stable at dpdk.org
> > >
> > > Signed-off-by: Luca Boccassi <bluca at debian.org>
> > > ---
> > >  drivers/net/e1000/em_rxtx.c | 7 ++++---
> > >  1 file changed, 4 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/net/e1000/em_rxtx.c
> > > b/drivers/net/e1000/em_rxtx.c index a6b3e92a6..81dc41efb 100644
> > > --- a/drivers/net/e1000/em_rxtx.c
> > > +++ b/drivers/net/e1000/em_rxtx.c
> > > @@ -1416,12 +1416,13 @@ eth_em_rx_queue_setup(struct
> rte_eth_dev
> > > *dev,
> > >  	}
> > >
> > >  	/*
> > > -	 * EM devices don't support drop_en functionality
> > > +	 * EM devices don't support drop_en functionality.
> > > +	 * It's an optimization that does nothing on single-queue
> > > devices,
> > > +	 * so just log the issue and carry on.
> > >  	 */
> > >  	if (rx_conf->rx_drop_en) {
> > > -		PMD_INIT_LOG(ERR, "drop_en functionality not
> > > supported
> > > by "
> > > +		PMD_INIT_LOG(NOTICE, "drop_en functionality not
> > > supported by "
> > >  			     "device");
> > > -		return -EINVAL;
> > >  	}
> > >
> > >  	/* Free memory prior to re-allocation if needed. */
> > > --
> > > 2.18.0
> >
> >
> 
> --
> Kind regards,
> Luca Boccassi


More information about the dev mailing list