• Coco Li's avatar
    gve: Support IPv6 Big TCP on DQ · a695641c
    Coco Li authored
    Add support for using IPv6 Big TCP on DQ which can handle large TSO/GRO
    packets. See https://lwn.net/Articles/895398/. This can improve the
    throughput and CPU usage.
    
    Perf test result:
    ip -d link show $DEV
    gso_max_size 185000 gso_max_segs 65535 tso_max_size 262143 tso_max_segs 65535 gro_max_size 185000
    
    For performance, tested with neper using 9k MTU on hardware that supports 200Gb/s line rate.
    
    In single streams when line rate is not saturated, we expect throughput improvements.
    When the networking is performing at line rate, we expect cpu usage improvements.
    
    Tcp_stream (unidirectional stream test, T=thread, F=flow):
    skb=180kb, T=1, F=1, no zerocopy: throughput average=64576.88 Mb/s, sender stime=8.3, receiver stime=10.68
    skb=64kb,  T=1, F=1, no zerocopy: throughput average=64862.54 Mb/s, sender stime=9.96, receiver stime=12.67
    skb=180kb, T=1, F=1, yes zerocopy:  throughput average=146604.97 Mb/s, sender stime=10.61, receiver stime=5.52
    skb=64kb,  T=1, F=1, yes zerocopy:  throughput average=131357.78 Mb/s, sender stime=12.11, receiver stime=12.25
    
    skb=180kb, T=20, F=100, no zerocopy:  throughput average=182411.37 Mb/s, sender stime=41.62, receiver stime=79.4
    skb=64kb,  T=20, F=100, no zerocopy:  throughput average=182892.02 Mb/s, sender stime=57.39, receiver stime=72.69
    skb=180kb, T=20, F=100, yes zerocopy: throughput average=182337.65 Mb/s, sender stime=27.94, receiver stime=39.7
    skb=64kb,  T=20, F=100, yes zerocopy: throughput average=182144.20 Mb/s, sender stime=47.06, receiver stime=39.01
    Signed-off-by: default avatarZiwei Xiao <ziweixiao@google.com>
    Signed-off-by: default avatarCoco Li <lixiaoyan@google.com>
    Reviewed-by: default avatarSimon Horman <simon.horman@corigine.com>
    Link: https://lore.kernel.org/r/20230522201552.3585421-1-ziweixiao@google.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    a695641c
gve_main.c 60.1 KB