Subject: Re: [PATCH] net: ks8851: Drop IRQ threading

From: Dmitry Torokhov <[email-masked]>
Date: Fri, 16 Dec 2022 14:32:16 -0800

On Fri, Dec 16, 2022 at 11:19:27PM +0100, Marek Vasut wrote:
> On 12/16/22 22:54, Dmitry Torokhov wrote:
> > On Fri, Dec 16, 2022 at 02:23:04PM +0100, Eric Dumazet wrote:
> > > On Fri, Dec 16, 2022 at 1:47 PM Marek Vasut <[email-masked]> wrote:
> > > > 
> > > > Request non-threaded IRQ in the KSZ8851 driver, this fixes the following warning:
> > > > "
> > > > NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #08!!!
> > > 
> > > This changelog is a bit terse.
> > > 
> > > Why can other drivers use request_threaded_irq(), but not this one ?
> > 
> > This one actually *has* to use threading, as (as far as I can see) the
> > "lock" that is being taken in ks8851_irq for the SPI variant of the
> > device is actually a mutex, so we have to be able to sleep in the
> > interrupt handler...
> 
> So maybe we should use threaded one for the SPI variant and non-threaded one
> for the Parallel bus variant ?

I do not think the threading itself is the issue. I did a quick search
and "Non-RCU local softirq work is pending" seems to be a somewhat
common issue in network drivers. I think you should follow for example
thread in https://lore.kernel.org/all/87y28b9nyn.ffs@tglx/t/ and collect
the trace data and bug tglx and Paul. I see you are even on CC in that
thread...

Thanks.

-- 
Dmitry