net: speedup skb_splice_bits()
authorEric Dumazet <edumazet@google.com>
Sun, 22 Apr 2012 12:26:16 +0000 (12:26 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Apr 2012 03:01:35 +0000 (23:01 -0400)
commit41c73a0d44c902e92397552acce181295eaa448b
tree522ac16cf3c1db59ef21e30cf14177dea1a7ea24
parent1402d366019fedaa2b024f2bac06b7cc9a8782e1
net: speedup skb_splice_bits()

Commit 35f3d14db (pipe: add support for shrinking and growing pipes)
added a slowdown for splice(socket -> pipe), as we might grow the spd
used in skb_splice_bits() for each skb we process in splice() syscall.

Its not needed since skb lengths are capped. The default on-stack arrays
are more than enough.

Use MAX_SKB_FRAGS instead of PIPE_DEF_BUFFERS to describe the reasonable
limit per skb.

Add coalescing support to help splicing of GRO skbs built from linear
skbs (linked into frag_list)

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/skbuff.c