Skip to content

Commit

Permalink
[NET]: migrate HARD_TX_LOCK to header file
Browse files Browse the repository at this point in the history
HARD_TX_LOCK micro is a nice aggregation that could be used
in other spots. move it to netdevice.h
Also makes sure the previously superflous cpu arguement is used.
Thanks to DaveM for the suggestions.

Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Jamal Hadi Salim authored and David S. Miller committed Oct 10, 2007
1 parent 4885a50 commit 22dd749
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 14 deletions.
21 changes: 19 additions & 2 deletions include/linux/netdevice.h
Original file line number Diff line number Diff line change
Expand Up @@ -1265,10 +1265,15 @@ static inline void netif_rx_complete(struct net_device *dev,
*
* Get network device transmit lock
*/
static inline void netif_tx_lock(struct net_device *dev)
static inline void __netif_tx_lock(struct net_device *dev, int cpu)
{
spin_lock(&dev->_xmit_lock);
dev->xmit_lock_owner = smp_processor_id();
dev->xmit_lock_owner = cpu;
}

static inline void netif_tx_lock(struct net_device *dev)
{
__netif_tx_lock(dev, smp_processor_id());
}

static inline void netif_tx_lock_bh(struct net_device *dev)
Expand Down Expand Up @@ -1297,6 +1302,18 @@ static inline void netif_tx_unlock_bh(struct net_device *dev)
spin_unlock_bh(&dev->_xmit_lock);
}

#define HARD_TX_LOCK(dev, cpu) { \
if ((dev->features & NETIF_F_LLTX) == 0) { \
__netif_tx_lock(dev, cpu); \
} \
}

#define HARD_TX_UNLOCK(dev) { \
if ((dev->features & NETIF_F_LLTX) == 0) { \
netif_tx_unlock(dev); \
} \
}

static inline void netif_tx_disable(struct net_device *dev)
{
netif_tx_lock_bh(dev);
Expand Down
12 changes: 0 additions & 12 deletions net/core/dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -1574,18 +1574,6 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
return 0;
}

#define HARD_TX_LOCK(dev, cpu) { \
if ((dev->features & NETIF_F_LLTX) == 0) { \
netif_tx_lock(dev); \
} \
}

#define HARD_TX_UNLOCK(dev) { \
if ((dev->features & NETIF_F_LLTX) == 0) { \
netif_tx_unlock(dev); \
} \
}

/**
* dev_queue_xmit - transmit a buffer
* @skb: buffer to transmit
Expand Down

0 comments on commit 22dd749

Please sign in to comment.