virtio_net: migrate mergeable rx buffers to page frag allocators
authorMichael Dalton <mwdalton@google.com>
Mon, 28 Oct 2013 22:44:18 +0000 (15:44 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 29 Oct 2013 03:56:46 +0000 (23:56 -0400)
commit2613af0ed18a11d5c566a81f9a6510b73180660a
tree845c49d94b0a1d749a6fab0acad4bb0700c917c8
parent5d9efa7ee99eed58388f186c13cf2e2a87e9ceb4
virtio_net: migrate mergeable rx buffers to page frag allocators

The virtio_net driver's mergeable receive buffer allocator
uses 4KB packet buffers. For MTU-sized traffic, SKB truesize
is > 4KB but only ~1500 bytes of the buffer is used to store
packet data, reducing the effective TCP window size
substantially. This patch addresses the performance concerns
with mergeable receive buffers by allocating MTU-sized packet
buffers using page frag allocators. If more than MAX_SKB_FRAGS
buffers are needed, the SKB frag_list is used.

Signed-off-by: Michael Dalton <mwdalton@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/virtio_net.c