On Wed, 15 Mar 2023 16:11:42 -0700 Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > > > > The one thing missing, is how to handle level vs edge triggered interrupts. > > For level triggered interrupts, the re-enable is inherently not racy. > > I.e re-enabling interrupt when packet is present will cause an interrupt. > > But for devices with edge triggered interrupts, it is often necessary to > > poll and manually schedule again. Older documentation referred to this > > as the "rotten packet" problem. > > > > Maybe this is no longer a problem for drivers? > > Or maybe all new hardware uses PCI MSI and is level triggered? > > It's still a problem depending on the exact design of the interrupt > controller in the chip / tradeoffs the SW wants to make. > I haven't actually read the LF doc, because I wasn't sure about the > licenses (sigh) I wrote the old NAPI from some older info that was available back then.