diff options
author | David S. Miller <davem@davemloft.net> | 2014-09-01 15:06:40 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-09-01 17:39:56 -0700 |
commit | 8dcda22a5d0abaf347b21b057655f3809b91639d (patch) | |
tree | 595d3af7a5ffab41fbf2b77dbbb3c3787f5700bb /net/core/dev.c | |
parent | ce93718fb7cdbc064c3000ff59e4d3200bdfa744 (diff) | |
download | linux-stable-8dcda22a5d0abaf347b21b057655f3809b91639d.tar.gz linux-stable-8dcda22a5d0abaf347b21b057655f3809b91639d.tar.bz2 linux-stable-8dcda22a5d0abaf347b21b057655f3809b91639d.zip |
net: xmit_list() becomes dev_hard_start_xmit().
Now fundamentally we can process lists of SKBs as cheaply
as single packets.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/dev.c')
-rw-r--r-- | net/core/dev.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index c89da4f306b1..6857d57aa294 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2570,8 +2570,8 @@ static int xmit_one(struct sk_buff *skb, struct net_device *dev, return rc; } -static struct sk_buff *xmit_list(struct sk_buff *first, struct net_device *dev, - struct netdev_queue *txq, int *ret) +struct sk_buff *dev_hard_start_xmit(struct sk_buff *first, struct net_device *dev, + struct netdev_queue *txq, int *ret) { struct sk_buff *skb = first; int rc = NETDEV_TX_OK; @@ -2673,17 +2673,6 @@ out_null: return NULL; } -struct sk_buff *dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev, - struct netdev_queue *txq, int *ret) -{ - if (likely(!skb->next)) { - *ret = xmit_one(skb, dev, txq, false); - return skb; - } - - return xmit_list(skb, dev, txq, ret); -} - static void qdisc_pkt_len_init(struct sk_buff *skb) { const struct skb_shared_info *shinfo = skb_shinfo(skb); |