• Eric Dumazet's avatar
    tcp: tsq: no longer use limit_output_bytes for paced flows · c73e5807
    Eric Dumazet authored
    FQ pacing guarantees that paced packets queued by one flow do not
    add head-of-line blocking for other flows.
    
    After TCP GSO conversion, increasing limit_output_bytes to 1 MB is safe,
    since this maps to 16 skbs at most in qdisc or device queues.
    (or slightly more if some drivers lower {gso_max_segs|size})
    
    We still can queue at most 1 ms worth of traffic (this can be scaled
    by wifi drivers if they need to)
    
    Tested:
    
    # ethtool -c eth0 | egrep "tx-usecs:|tx-frames:" # 40 Gbit mlx4 NIC
    tx-usecs: 16
    tx-frames: 16
    # tc qdisc replace dev eth0 root fq
    # for f in {1..10};do netperf -P0 -H lpaa24,6 -o THROUGHPUT;done
    
    Before patch:
    27711
    26118
    27107
    27377
    27712
    27388
    27340
    27117
    27278
    27509
    
    After patch:
    37434
    36949
    36658
    36998
    37711
    37291
    37605
    36659
    36544
    37349
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c73e5807
tcp_output.c 108 KB