Skip to content

Commit

Permalink
lan78xx: Introduce NAPI polling support
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
jefstath authored and davem330 committed Nov 18, 2021
1 parent 0dd8726 commit ec4c7e1
Showing 1 changed file with 114 additions and 68 deletions.
Loading

0 comments on commit ec4c7e1

Please sign in to comment.