• Paul Barker's avatar
    net: ravb: Use NAPI threaded mode on 1-core CPUs with GbEth IP · 65c482bc
    Paul Barker authored
    NAPI Threaded mode (along with the previously enabled SW IRQ Coalescing)
    is required to improve network stack performance for single core SoCs
    using the GbEth IP (currently the RZ/G2L SoC family and the RZ/G3S SoC).
    
    This patch gives the following improvements during testing with iperf3.
    
      * RZ/G2UL:
        * TCP TX: +32% bandwidth (638Mbps -> 841Mbps)
        * TXP RX: +8.8% bandwidth (667Mbps -> 726Mbps)
        * UDP RX: +104% bandwidth (53Mbps -> 108Mbps)
    
      * RZ/G3S:
        * TCP TX: 29% bandwidth (529Mbps -> 681Mbps)
        * UDP RX: +1290% bandwidth (6.46Mbps -> 90Mbps)
    
      * RZ/Five:
        * UDP RX: Test no longer crashes (0 -> 20 Mbps)
    
    This patch gives the following reductions in performance in the same
    testing:
    
      * RZ/G2UL:
        * UDP TX: -7.5% bandwidth (594Mbps -> 549Mbps)
    
      * RZ/G3S:
        * UDP TX: -5% bandwidth (625Mbps -> 594Mbps)
    
    These losses are considered acceptable given the benefits shown above.
    If UDP TX bandwidth must be maximised for a particular use case, NAPI
    threaded mode can be disabled at runtime via sysfs writes.
    
    The improvement of UDP RX bandwidth for the single core SoCs (RZ/G2UL &
    RZ/G3S) is particularly critical.
    Signed-off-by: default avatarPaul Barker <paul.barker.ct@bp.renesas.com>
    Reviewed-by: default avatarSergey Shtylyov <s.shtylyov@omp.ru>
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    65c482bc
ravb_main.c 80.4 KB