From: <tristram...@microchip.com>
Date: Wed, 21 Nov 2018 02:13:30 +0000

> Slightly out of topic I am not sure why NAPI is used on the transmit side.
> Originally NAPI was designed to fix the receive interrupt happening on each
> receive frame problem, so on transmit side it is to avoid the transmit
> done interrupt on each transmit frame?  Typically hardware has a way
> to trigger transmit done interrupt or not in each transmit frame.

It puts transmit completion, like receive processing, inside of a
software instead of a hardware interrupt.

It is very much intended that all drivers do transmit completion
inside of a NAPI context.

Avoiding TX interrupts by clearing interrupt indication bits in the
TX descriptors or turning TX completion interrupts off compeltely
is a non-starter.

All TX completion events MUST occur in a short finite amount of time,
otherwise you wedge TCP sockets waiting for memory to be free'd up
etc.

Reply via email to