]> git.karo-electronics.de Git - karo-tx-linux.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)
commitacb600def2110b1310466c0e485c0d26299898ae
tree21036c7d0518601aba70dde0246ac229cd8dfc0c
parent809d5fc9bf6589276a12bd4fd611e4c7ff9940c3
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
87151b8689d (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