• Eric Dumazet's avatar
    mlx4: support BIG TCP packets · 1169a642
    Eric Dumazet authored
    mlx4 supports LSOv2 just fine.
    
    IPv6 stack inserts a temporary Hop-by-Hop header
    with JUMBO TLV for big packets.
    
    We need to ignore the HBH header when populating TX descriptor.
    
    Tested:
    
    Before: (not enabling bigger TSO/GRO packets)
    
    ip link set dev eth0 gso_max_size 65536 gro_max_size 65536
    
    netperf -H lpaa18 -t TCP_RR -T2,2 -l 10 -Cc -- -r 70000,70000
    MIGRATED TCP REQUEST/RESPONSE TEST from ::0 (::) port 0 AF_INET6 to lpaa18.prod.google.com () port 0 AF_INET6 : first burst 0 : cpu bind
    Local /Remote
    Socket Size   Request Resp.  Elapsed Trans.   CPU    CPU    S.dem   S.dem
    Send   Recv   Size    Size   Time    Rate     local  remote local   remote
    bytes  bytes  bytes   bytes  secs.   per sec  % S    % S    us/Tr   us/Tr
    
    262144 540000 70000   70000  10.00   6591.45  0.86   1.34   62.490  97.446
    262144 540000
    
    After: (enabling bigger TSO/GRO packets)
    
    ip link set dev eth0 gso_max_size 185000 gro_max_size 185000
    
    netperf -H lpaa18 -t TCP_RR -T2,2 -l 10 -Cc -- -r 70000,70000
    MIGRATED TCP REQUEST/RESPONSE TEST from ::0 (::) port 0 AF_INET6 to lpaa18.prod.google.com () port 0 AF_INET6 : first burst 0 : cpu bind
    Local /Remote
    Socket Size   Request Resp.  Elapsed Trans.   CPU    CPU    S.dem   S.dem
    Send   Recv   Size    Size   Time    Rate     local  remote local   remote
    bytes  bytes  bytes   bytes  secs.   per sec  % S    % S    us/Tr   us/Tr
    
    262144 540000 70000   70000  10.00   8383.95  0.95   1.01   54.432  57.584
    262144 540000
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Reviewed-by: default avatarTariq Toukan <tariqt@nvidia.com>
    Acked-by: default avatarAlexander Duyck <alexanderduyck@fb.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1169a642
en_tx.c 33.5 KB