Jakub Kicinski <kuba@xxxxxxxxxx> : [...] > diff --git a/Documentation/networking/napi.rst b/Documentation/networking/napi.rst > new file mode 100644 > index 000000000000..e9833f2b777a > --- /dev/null > +++ b/Documentation/networking/napi.rst > @@ -0,0 +1,251 @@ > +.. _napi: > + > +==== > +NAPI > +==== > + > +NAPI is the event handling mechanism used by the Linux networking stack. > +The name NAPI does not stand for anything in particular [#]_. > + > +In basic operation device notifies the host about new events via an interrupt. > +The host then schedules a NAPI instance to process the events. > +Device may also be polled for events via NAPI without receiving > +interrupts first (:ref:`busy polling<poll>`). > + > +NAPI processing usually happens in the software interrupt context, > +but user may choose to use :ref:`separate kernel threads<threaded>` > +for NAPI processing. NAPI processing also happens in the unusual context of netpoll. I can't tell if it's better to be completely silent about it or to explicitely state that it is beyond the scope of the document. -- Ueimor