net: speedup skb_splice_bits()
authorEric Dumazet <[email protected]>
Sun, 22 Apr 2012 12:26:16 +0000 (12:26 +0000)
committerDavid S. Miller <[email protected]>
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 <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: Tom Herbert <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
net/core/skbuff.c