• Bjørn Mork's avatar
    net: cdc_ncm: use ethtool to tune coalescing settings · 6c4e548f
    Bjørn Mork authored
    Datagram coalescing is an integral part of the NCM and MBIM
    protocols, intended to reduce the interrupt load primarily
    on the device end of the USB link.  As with all coalescing
    solutions, there is a trade-off between buffering and
    interrupts.
    
    The current defaults are based on the assumption that device
    side buffers should be the limiting factor.  However, many
    modern high speed LTE modems suffers from buffer-bloat,
    making this assumption fail. This results in sub-optimal
    performance due to excessive coalescing.  And in cases where
    such modems are connected to cheap embedded hosts there is
    often severe buffer allocation issues, giving very noticeable
    performance degradation .
    
    A start on improving this is going from build time hard
    coded limits to per device user configurable limits.  The
    ethtool coalescing API was selected as user interface
    because, although the tuned values are buffer sizes, these
    settings directly control datagram coalescing.
    Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6c4e548f
cdc_ncm.c 41 KB