OSDN Git Service

net: Pass a "more" indication down into netdev_start_xmit() code paths.
authorDavid S. Miller <davem@davemloft.net>
Sat, 30 Aug 2014 04:55:22 +0000 (21:55 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 2 Sep 2014 00:39:55 +0000 (17:39 -0700)
For now it will always be false.

Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/wan/dlci.c
include/linux/netdevice.h
net/atm/mpc.c
net/core/dev.c
net/core/netpoll.c
net/core/pktgen.c
net/packet/af_packet.c
net/sched/sch_teql.c

index 6427e82..ae6ecf4 100644 (file)
@@ -194,7 +194,7 @@ static netdev_tx_t dlci_transmit(struct sk_buff *skb, struct net_device *dev)
 
        if (skb) {
                struct netdev_queue *txq = skb_get_tx_queue(dev, skb);
-               netdev_start_xmit(skb, dlp->slave, txq);
+               netdev_start_xmit(skb, dlp->slave, txq, false);
        }
        return NETDEV_TX_OK;
 }
index 1617180..5050218 100644 (file)
@@ -3431,19 +3431,20 @@ int __init dev_proc_init(void);
 #endif
 
 static inline netdev_tx_t __netdev_start_xmit(const struct net_device_ops *ops,
-                                             struct sk_buff *skb, struct net_device *dev)
+                                             struct sk_buff *skb, struct net_device *dev,
+                                             bool more)
 {
-       skb->xmit_more = 0;
+       skb->xmit_more = more ? 1 : 0;
        return ops->ndo_start_xmit(skb, dev);
 }
 
 static inline netdev_tx_t netdev_start_xmit(struct sk_buff *skb, struct net_device *dev,
-                                           struct netdev_queue *txq)
+                                           struct netdev_queue *txq, bool more)
 {
        const struct net_device_ops *ops = dev->netdev_ops;
        int rc;
 
-       rc = __netdev_start_xmit(ops, skb, dev);
+       rc = __netdev_start_xmit(ops, skb, dev, more);
        if (rc == NETDEV_TX_OK)
                txq_trans_update(txq);
 
index d662da1..0e98222 100644 (file)
@@ -599,7 +599,7 @@ static netdev_tx_t mpc_send_packet(struct sk_buff *skb,
        }
 
 non_ip:
-       return __netdev_start_xmit(mpc->old_ops, skb, dev);
+       return __netdev_start_xmit(mpc->old_ops, skb, dev, false);
 }
 
 static int atm_mpoa_vcc_attach(struct atm_vcc *vcc, void __user *arg)
index ab7bb80..f0ed5a6 100644 (file)
@@ -2610,7 +2610,7 @@ static int xmit_one(struct sk_buff *skb, struct net_device *dev,
 
        len = skb->len;
        trace_net_dev_start_xmit(skb, dev);
-       rc = netdev_start_xmit(skb, dev, txq);
+       rc = netdev_start_xmit(skb, dev, txq, false);
        trace_net_dev_xmit(skb, rc, dev, len);
 
        return rc;
index 05bc57e..e6645b4 100644 (file)
@@ -91,7 +91,7 @@ static int netpoll_start_xmit(struct sk_buff *skb, struct net_device *dev,
                skb->vlan_tci = 0;
        }
 
-       status = netdev_start_xmit(skb, dev, txq);
+       status = netdev_start_xmit(skb, dev, txq, false);
 
 out:
        return status;
index 34bd2ff..5b36a94 100644 (file)
@@ -3335,7 +3335,7 @@ static void pktgen_xmit(struct pktgen_dev *pkt_dev)
                goto unlock;
        }
        atomic_inc(&(pkt_dev->skb->users));
-       ret = netdev_start_xmit(pkt_dev->skb, odev, txq);
+       ret = netdev_start_xmit(pkt_dev->skb, odev, txq, false);
 
        switch (ret) {
        case NETDEV_TX_OK:
index fe305a0..87d20f4 100644 (file)
@@ -259,7 +259,7 @@ static int packet_direct_xmit(struct sk_buff *skb)
 
        HARD_TX_LOCK(dev, txq, smp_processor_id());
        if (!netif_xmit_frozen_or_drv_stopped(txq))
-               ret = netdev_start_xmit(skb, dev, txq);
+               ret = netdev_start_xmit(skb, dev, txq, false);
        HARD_TX_UNLOCK(dev, txq);
 
        local_bh_enable();
index 193dc2c..aaa8d03 100644 (file)
@@ -316,7 +316,8 @@ restart:
                                unsigned int length = qdisc_pkt_len(skb);
 
                                if (!netif_xmit_frozen_or_stopped(slave_txq) &&
-                                   netdev_start_xmit(skb, slave, slave_txq) == NETDEV_TX_OK) {
+                                   netdev_start_xmit(skb, slave, slave_txq, false) ==
+                                   NETDEV_TX_OK) {
                                        __netif_tx_unlock(slave_txq);
                                        master->slaves = NEXT_SLAVE(q);
                                        netif_wake_queue(dev);