• Eric Dumazet's avatar
    mlx4: remove mlx4_en_low_latency_recv() · 868fdb06
    Eric Dumazet authored
    Busy polling can now be handled in generic NAPI poll infrastructure.
    This removes complexity and fast path overhead :
    
    mlx4 used two spin_lock()/spin_unlock() pair per napi->poll() call
    in mlx4_en_cq_lock_napi()/mlx4_en_cq_unlock_napi()
    
    Tested:
    
    Without busy polling :
    
    lpaa23:~# echo 0 >/proc/sys/net/core/busy_read
    lpaa24:~# echo 0 >/proc/sys/net/core/busy_read
    lpaa23:~# ./netperf -H lpaa24 -t TCP_RR
    MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to lpaa24.prod.google.com () port 0 AF_INET : first burst 0
    Local /Remote
    Socket Size   Request  Resp.   Elapsed  Trans.
    Send   Recv   Size     Size    Time     Rate
    bytes  Bytes  bytes    bytes   secs.    per sec
    
    16384  87380  1        1       10.00    47330.78
    
    With busy polling :
    
    lpaa23:~# echo 70 >/proc/sys/net/core/busy_read
    lpaa24:~# echo 70 >/proc/sys/net/core/busy_read
    lpaa23:~# ./netperf -H lpaa24 -t TCP_RR
    MIGRATED TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to lpaa24.prod.google.com () port 0 AF_INET : first burst 0
    Local /Remote
    Socket Size   Request  Resp.   Elapsed  Trans.
    Send   Recv   Size     Size    Time     Rate
    bytes  Bytes  bytes    bytes   secs.    per sec
    
    16384  87380  1        1       10.00    97643.55
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    868fdb06
mlx4_en.h 21 KB