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

net: b44: replace dev_kfree_skb_xxx by dev_consume_skb_xxx for drop profiles

The skb should be freed by dev_consume_skb_any() in b44_start_xmit()
when bounce_skb is used. The skb is be replaced by bounce_skb, so the
original skb should be consumed(not drop).

dev_consume_skb_irq() should be called in b44_tx() 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 e339f863
...@@ -638,7 +638,7 @@ static void b44_tx(struct b44 *bp) ...@@ -638,7 +638,7 @@ static void b44_tx(struct b44 *bp)
bytes_compl += skb->len; bytes_compl += skb->len;
pkts_compl++; pkts_compl++;
dev_kfree_skb_irq(skb); dev_consume_skb_irq(skb);
} }
netdev_completed_queue(bp->dev, pkts_compl, bytes_compl); netdev_completed_queue(bp->dev, pkts_compl, bytes_compl);
...@@ -1012,7 +1012,7 @@ static netdev_tx_t b44_start_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -1012,7 +1012,7 @@ static netdev_tx_t b44_start_xmit(struct sk_buff *skb, struct net_device *dev)
} }
skb_copy_from_linear_data(skb, skb_put(bounce_skb, len), len); skb_copy_from_linear_data(skb, skb_put(bounce_skb, len), len);
dev_kfree_skb_any(skb); dev_consume_skb_any(skb);
skb = bounce_skb; skb = bounce_skb;
} }
......
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