Thread (36 messages) 36 messages, 4 authors, 2021-02-12

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

From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
Date: 2021-02-11 13:44:49
Also in: linux-arm-kernel, lkml, netdev

On Thu, Feb 11, 2021 at 01:02:14PM +0000, Stefan Chulski wrote:
quoted
On Thu, Feb 11, 2021 at 12:48:55PM +0200, stefanc@marvell.com wrote:
quoted
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!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help