]> git.baikalelectronics.ru Git - kernel.git/commit
tcp: introduce tcp_try_coalesce
authorEric Dumazet <edumazet@google.com>
Mon, 23 Apr 2012 07:11:42 +0000 (07:11 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Apr 2012 02:42:49 +0000 (22:42 -0400)
commit34e78bc44d8b616c5289b0d3f5f8ca6778d8530d
treef74c00a2308ad13d6970cdc7e5cc29d2f0f809fa
parenteb27415101f4797f23e7ee4b5d0a21e3bff7ede0
tcp: introduce tcp_try_coalesce

commit 1d6fe21c8b59 (tcp: reduce out_of_order memory use) took care of
coalescing tcp segments provided by legacy devices (linear skbs)

We extend this idea to fragged skbs, as their truesize can be heavy.

ixgbe for example uses 256+1024+PAGE_SIZE/2 = 3328 bytes per segment.

Use this coalescing strategy for receive queue too.

This contributes to reduce number of tcp collapses, at minimal cost, and
reduces memory overhead and packets drops.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Cc: Tom Herbert <therbert@google.com>
Cc: Maciej Żenczykowski <maze@google.com>
Cc: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Acked-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c