• Marcin Wojtas's avatar
    net: mvneta: add BQL support · a29b6235
    Marcin Wojtas authored
    Tests showed that when whole bandwidth is consumed, the latency for
    various kind of traffic can reach high values. With saturated
    link (e.g. with iperf from target to host) simple ping could take
    significant amount of time. BQL proved to improve this situation
    when implemented in mvneta driver. Measurements of ping latency
    for 3 link speeds:
    Speed | Latency w/o BQL | Latency with BQL
    10    |      7-14 ms    |     3.5 ms
    100   |      2-12 ms    |     0.6 ms
    1000  |   often timeout |   up to 2ms
    
    Decreasing latency as above result in sligt performance cost - 4kpps
    (-1.4%) when pushing 64B packets via two bridged interfaces of Armada 38x.
    For 1500B packets in the same setup, the mpstat tool showed +8% of
    CPU occupation (default affinity, second CPU idle). Even though this
    cost seems reasonable to take, considering other improvements.
    
    This commit adds byte queue limit mechanism for the mvneta driver.
    Signed-off-by: default avatarMarcin Wojtas <mw@semihalf.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a29b6235
mvneta.c 120 KB