Thread (9 messages) flat view 9 messages, 5 authors, 2018-11-22

Re: [PATCH v1 net] lan743x: fix return value for lan743x_tx_napi_poll

From: David Miller <davem@davemloft.net>
Date: 2018-11-21 13:44:35

From: <redacted>
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help