• E
    tcp: GSO should be TSQ friendly · d6a4a104
    Eric Dumazet 提交于
    I noticed that TSQ (TCP Small queues) was less effective when TSO is
    turned off, and GSO is on. If BQL is not enabled, TSQ has then no
    effect.
    
    It turns out the GSO engine frees the original gso_skb at the time the
    fragments are generated and queued to the NIC.
    
    We should instead call the tcp_wfree() destructor for the last fragment,
    to keep the flow control as intended in TSQ. This effectively limits
    the number of queued packets on qdisc + NIC layers.
    Signed-off-by: NEric Dumazet <edumazet@google.com>
    Cc: Tom Herbert <therbert@google.com>
    Cc: Yuchung Cheng <ycheng@google.com>
    Cc: Nandita Dukkipati <nanditad@google.com>
    Cc: Neal Cardwell <ncardwell@google.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    d6a4a104
tcp_output.c 91.1 KB