• John Efstathiades's avatar
    lan78xx: Introduce NAPI polling support · ec4c7e12
    John Efstathiades authored
    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: default avatarJohn Efstathiades <john.efstathiades@pebblebay.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ec4c7e12
lan78xx.c 119 KB