[EXT] Re: [PATCH v13 net-next 08/15] net: mvpp2: add FCA RXQ non occupied descriptor threshold

Russell King - ARM Linux admin linux at armlinux.org.uk
Thu Feb 11 08:29:44 EST 2021


On Thu, Feb 11, 2021 at 01:02:14PM +0000, Stefan Chulski wrote:
> > On Thu, Feb 11, 2021 at 12:48:55PM +0200, stefanc at marvell.com wrote:
> > > diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> > > b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> > > index 761f745..8b4073c 100644
> > > --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> > > +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> > > @@ -1133,14 +1133,19 @@ static inline void
> > > mvpp2_qvec_interrupt_disable(struct mvpp2_queue_vector *qvec)  static
> > > void mvpp2_interrupts_mask(void *arg)  {
> > >  	struct mvpp2_port *port = arg;
> > > +	int cpu = smp_processor_id();
> > > +	u32 thread;
> > >
> > >  	/* If the thread isn't used, don't do anything */
> > > -	if (smp_processor_id() > port->priv->nthreads)
> > > +	if (cpu > port->priv->nthreads)
> > >  		return;
> > 
> > What happened to a patch fixing this? Did I miss it? Was it submitted
> > independently to the net tree?
> 
> Some reviewers asked to remove this from the series. I would send it as separate patch to net.

It is not a regression, and although it is a fix, as you explained when
I first raised it, it isn't a condition that can be reached due to:

        priv->nthreads = min_t(unsigned int, num_present_cpus(),
	                       MVPP2_MAX_THREADS);

and I don't think we support a dynamic present CPU mask on any platform
that is currently supported by this driver.

If we did, then it would be possible for the off-by-one issue to be
triggered.

No matter what, it should happen _before_ this patch set is merged.
Trying to do it afterwards guarantees more pain if stable trees decide
they want to backport the fix.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!



More information about the linux-arm-kernel mailing list