]> 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)
commit44e940a9f55ec98d0fa0bc67b705bc2cf8cc39b1
treef74c00a2308ad13d6970cdc7e5cc29d2f0f809fa
parent21e801e5aa8e55df22620b3dc6a5aa80f5c83bdc
tcp: introduce tcp_try_coalesce

commit 6df936dc2a95 (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