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>
This commit is contained in:
David S. Miller 2014-09-01 15:06:40 -07:00
parent ce93718fb7
commit 8dcda22a5d
1 changed files with 2 additions and 13 deletions

View File

@ -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 @@ struct sk_buff *validate_xmit_skb(struct sk_buff *skb, struct net_device *dev)
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);