summaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp_veno.c
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2016-09-15 09:33:02 -0700
committerDavid S. Miller <davem@davemloft.net>2016-09-17 10:05:05 -0400
commit3613b3dbd1ade9a6a626dae1f608c57638eb5e8a (patch)
treed93ff35b7198f4f2ea6f9799f28d79a19ee1d814 /net/ipv4/tcp_veno.c
parente812bd905a5cf00fea95da9df4889dad63d4a36a (diff)
downloadtalos-obmc-linux-3613b3dbd1ade9a6a626dae1f608c57638eb5e8a.tar.gz
talos-obmc-linux-3613b3dbd1ade9a6a626dae1f608c57638eb5e8a.zip
tcp: prepare skbs for better sack shifting
With large BDP TCP flows and lossy networks, it is very important to keep a low number of skbs in the write queue. RACK and SACK processing can perform a linear scan of it. We should avoid putting any payload in skb->head, so that SACK shifting can be done if needed. With this patch, we allow to pack ~0.5 MB per skb instead of the 64KB initially cooked at tcp_sendmsg() time. This gives a reduction of number of skbs in write queue by eight. tcp_rack_detect_loss() likes this. We still allow payload in skb->head for first skb put in the queue, to not impact RPC workloads. Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Yuchung Cheng <ycheng@google.com> Acked-by: Yuchung Cheng <ycheng@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_veno.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud