]> git.baikalelectronics.ru Git - kernel.git/commit
net: remove skb recycling
authorEric Dumazet <edumazet@google.com>
Fri, 5 Oct 2012 06:23:55 +0000 (06:23 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 7 Oct 2012 04:40:54 +0000 (00:40 -0400)
commitf56c3de832ae712c515fe0eb5353995145b1a3fc
tree21036c7d0518601aba70dde0246ac229cd8dfc0c
parent7f5245e54443cc70f78da156f034b32d313ef273
net: remove skb recycling

Over time, skb recycling infrastructure got litle interest and
many bugs. Generic rx path skb allocation is now using page
fragments for efficient GRO / TCP coalescing, and recyling
a tx skb for rx path is not worth the pain.

Last identified bug is that fat skbs can be recycled
and it can endup using high order pages after few iterations.

With help from Maxime Bizon, who pointed out that commit
ee41045efbf (net: allow pskb_expand_head() to get maximum tailroom)
introduced this regression for recycled skbs.

Instead of fixing this bug, lets remove skb recycling.

Drivers wanting really hot skbs should use build_skb() anyway,
to allocate/populate sk_buff right before netif_receive_skb()

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Maxime Bizon <mbizon@freebox.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/calxeda/xgmac.c
drivers/net/ethernet/freescale/gianfar.c
drivers/net/ethernet/freescale/gianfar.h
drivers/net/ethernet/freescale/ucc_geth.c
drivers/net/ethernet/freescale/ucc_geth.h
drivers/net/ethernet/marvell/mv643xx_eth.c
drivers/net/ethernet/stmicro/stmmac/stmmac.h
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
include/linux/skbuff.h
net/core/skbuff.c