On Wed, 15 Mar 2023 15:30:44 -0700 Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > Add basic documentation about NAPI. We can stop linking to the ancient > doc on the LF wiki. > > Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx> > --- > CC: jesse.brandeburg@xxxxxxxxx > CC: anthony.l.nguyen@xxxxxxxxx > CC: corbet@xxxxxxx > CC: linux-doc@xxxxxxxxxxxxxxx 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?