Re: [RFC PATCH net-next 1/2] net: napi: Fix interrupts permanently disabled during busy poll
From: Jakub Kicinski
Date: Wed Apr 29 2026 - 18:52:43 EST
On Wed, 29 Apr 2026 08:13:55 +0000 Dragos Tatulea wrote:
> On Tue, Apr 28, 2026 at 05:31:54PM -0700, Jakub Kicinski wrote:
> > On Tue, 28 Apr 2026 20:04:13 -0400 Martin Karsten wrote:
> > > Labelling this with number 4. might be misleading, sorry! The concern is
> > > that a short enough timer (compared to the duration of the driver poll)
> > > can be triggered before the NAPI_STATE_SCHED bit is cleared at the end
> > > of Step 3.3.
> >
> > Ah. Just say that :D Two pages of buggy text, y'all would have been
> > better off using this one paragraph as the commit message.
> > Please don't use AI for generating commit messages if that's the cause.
> > It really is spectacularly shit at it.
> I take the blame for this. Funnily enough, the text was written mostly
> without AI... Just wanted to present the interactions in a more explanatory
> way.
Heh, I guess I blame everything on AI these days :)
> Do you prefer the short version from Martin or an improved version of
> the long explanation?
That's what I'd do. The explanation should focus on the fact that the
current code arms the timer before it releases the ownership (clearing
STATE_SCHED). The intention of the __busy_poll_stop() outro is to either
schedule NAPI, arm the IRQ or the timer.