summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2019-08-09 05:04:47 -0700
committerDavid S. Miller <davem@davemloft.net>2019-08-09 11:03:27 -0700
commit1a9914884db5138682032cf69f2d55739f236c80 (patch)
treece7d4ee72ccb27174b86947628d34ec0317ab0fb /include
parentfcc32a21655e26d30c746b4828b33a5fd4ccfb11 (diff)
downloadlinux-1a9914884db5138682032cf69f2d55739f236c80.tar.bz2
tcp: batch calls to sk_flush_backlog()
Starting from commit d41a69f1d390 ("tcp: make tcp_sendmsg() aware of socket backlog") loopback flows got hurt, because for each skb sent, the socket receives an immediate ACK and sk_flush_backlog() causes extra work. Intent was to not let the backlog grow too much, but we went a bit too far. We can check the backlog every 16 skbs (about 1MB chunks) to increase TCP over loopback performance by about 15 % Note that the call to sk_flush_backlog() handles a single ACK, thanks to coalescing done on backlog, but cleans the 16 skbs found in rtx rb-tree. Reported-by: Soheil Hassas Yeganeh <soheil@google.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Acked-by: Soheil Hassas Yeganeh <soheil@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions