netdev: The ingress_lock member is no longer needed.

Every qdisc is assosciated with a queue, and in the case of ingress
qdiscs that will now be netdev->rx_queue so using that queue's lock is
the thing to do.

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller
2008-07-08 17:33:13 -07:00
parent dc2b48475a
commit 555353cfa1
5 changed files with 17 additions and 18 deletions

View File

@@ -35,24 +35,24 @@
* - enqueue, dequeue are serialized via top level device
* spinlock queue->lock.
* - ingress filtering is serialized via top level device
* spinlock dev->ingress_lock.
* spinlock dev->rx_queue.lock.
* - updates to tree and tree walking are only done under the rtnl mutex.
*/
void qdisc_lock_tree(struct net_device *dev)
__acquires(dev->tx_queue.lock)
__acquires(dev->ingress_lock)
__acquires(dev->rx_queue.lock)
{
spin_lock_bh(&dev->tx_queue.lock);
spin_lock(&dev->ingress_lock);
spin_lock(&dev->rx_queue.lock);
}
EXPORT_SYMBOL(qdisc_lock_tree);
void qdisc_unlock_tree(struct net_device *dev)
__releases(dev->ingress_lock)
__releases(dev->rx_queue.lock)
__releases(dev->tx_queue.lock)
{
spin_unlock(&dev->ingress_lock);
spin_unlock(&dev->rx_queue.lock);
spin_unlock_bh(&dev->tx_queue.lock);
}
EXPORT_SYMBOL(qdisc_unlock_tree);