]> 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)
commit1c734b65a4f19304104dced96156b58acd8c54a9
tree21036c7d0518601aba70dde0246ac229cd8dfc0c
parent95867908a5a0d5453928c50aef9ff25bf63aeded
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
7a7914b537e (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