Commit d1a096c2 authored by Yang Wei's avatar Yang Wei Committed by David S. Miller

net: sgi: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles

dev_consume_skb_irq() should be called when skb xmit done. It makes
drop profiles(dropwatch, perf) more friendly.
Signed-off-by: default avatarYang Wei <yang.wei9@zte.com.cn>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5fbc136b
...@@ -666,7 +666,7 @@ static inline void ioc3_tx(struct net_device *dev) ...@@ -666,7 +666,7 @@ static inline void ioc3_tx(struct net_device *dev)
packets++; packets++;
skb = ip->tx_skbs[o_entry]; skb = ip->tx_skbs[o_entry];
bytes += skb->len; bytes += skb->len;
dev_kfree_skb_irq(skb); dev_consume_skb_irq(skb);
ip->tx_skbs[o_entry] = NULL; ip->tx_skbs[o_entry] = NULL;
o_entry = (o_entry + 1) & 127; /* Next */ o_entry = (o_entry + 1) & 127; /* Next */
......
...@@ -525,7 +525,7 @@ static void meth_tx_cleanup(struct net_device* dev, unsigned long int_status) ...@@ -525,7 +525,7 @@ static void meth_tx_cleanup(struct net_device* dev, unsigned long int_status)
DPRINTK("RPTR points us here, but packet not done?\n"); DPRINTK("RPTR points us here, but packet not done?\n");
break; break;
} }
dev_kfree_skb_irq(skb); dev_consume_skb_irq(skb);
priv->tx_skbs[priv->tx_read] = NULL; priv->tx_skbs[priv->tx_read] = NULL;
priv->tx_ring[priv->tx_read].header.raw = 0; priv->tx_ring[priv->tx_read].header.raw = 0;
priv->tx_read = (priv->tx_read+1)&(TX_RING_ENTRIES-1); priv->tx_read = (priv->tx_read+1)&(TX_RING_ENTRIES-1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment