]> git.baikalelectronics.ru Git - kernel.git/commit
lan78xx: Introduce NAPI polling support
authorJohn Efstathiades <john.efstathiades@pebblebay.com>
Thu, 18 Nov 2021 11:01:39 +0000 (11:01 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 18 Nov 2021 12:11:51 +0000 (12:11 +0000)
commitb640e16aa9f3d534d2647f846f85490c9de04400
tree4d92b3ad036a5d92f5a8e8f04be94af9d5758dfb
parent7ac74685995d2122f42ace7fbf73cfdca2bf5085
lan78xx: Introduce NAPI polling support

This patch introduces a NAPI-style approach for processing completed
Rx URBs that contributes to improving driver throughput and reducing
CPU load.

Packets in completed URBs are copied to NAPI SKBs and passed to the
network stack for processing. Each frame passed to the stack is one
work item in the NAPI budget.

If the NAPI budget is consumed and frames remain, they are added to
an overflow queue that is processed at the start of the next NAPI
polling cycle.

The NAPI handler is also responsible for copying pending Tx data to
Tx URBs and submitting them to the USB host controller for
transmission.

Signed-off-by: John Efstathiades <john.efstathiades@pebblebay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/lan78xx.c