• Dave Taht's avatar
    sch_cake: Make gso-splitting configurable from userspace · 2db6dc26
    Dave Taht authored
    This patch restores cake's deployed behavior at line rate to always
    split gso, and makes gso splitting configurable from userspace.
    
    running cake unlimited (unshaped) at 1gigE, local traffic:
    
    no-split-gso bql limit: 131966
    split-gso bql limit:   ~42392-45420
    
    On this 4 stream test splitting gso apart results in halving the
    observed interpacket latency at no loss in throughput.
    
    Summary of tcp_nup test run 'gso-split' (at 2018-07-26 16:03:51.824728):
    
     Ping (ms) ICMP :         0.83         0.81 ms              341
     TCP upload avg :       235.43       235.39 Mbits/s         301
     TCP upload sum :       941.71       941.56 Mbits/s         301
     TCP upload::1  :       235.45       235.43 Mbits/s         271
     TCP upload::2  :       235.45       235.41 Mbits/s         289
     TCP upload::3  :       235.40       235.40 Mbits/s         288
     TCP upload::4  :       235.41       235.40 Mbits/s         291
    
    verses
    
    Summary of tcp_nup test run 'no-split-gso' (at 2018-07-26 16:37:23.563960):
    
                               avg       median          # data pts
     Ping (ms) ICMP :         1.67         1.73 ms              348
     TCP upload avg :       234.56       235.37 Mbits/s         301
     TCP upload sum :       938.24       941.49 Mbits/s         301
     TCP upload::1  :       234.55       235.38 Mbits/s         285
     TCP upload::2  :       234.57       235.37 Mbits/s         286
     TCP upload::3  :       234.58       235.37 Mbits/s         274
     TCP upload::4  :       234.54       235.42 Mbits/s         288
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    2db6dc26
sch_cake.c 76.1 KB