diff options
author | David S. Miller <davem@davemloft.net> | 2008-07-17 03:53:03 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-17 22:21:30 -0400 |
commit | 83874000929ed63aef30b44083a9f713135ff040 (patch) | |
tree | 7646fd185751cad8665eca19aa3f87d13c37eade /net/core/dev.c | |
parent | c7e4f3bbb4ba4e48ab3b529d5016e454cee1ccd6 (diff) |
pkt_sched: Kill netdev_queue lock.
We can simply use the qdisc->q.lock for all of the
qdisc tree synchronization.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/dev.c')
-rw-r--r-- | net/core/dev.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 6741e344ac59..32a13772c1cb 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -2080,10 +2080,12 @@ static int ing_filter(struct sk_buff *skb) | |||
2080 | 2080 | ||
2081 | rxq = &dev->rx_queue; | 2081 | rxq = &dev->rx_queue; |
2082 | 2082 | ||
2083 | spin_lock(&rxq->lock); | 2083 | q = rxq->qdisc; |
2084 | if ((q = rxq->qdisc) != NULL) | 2084 | if (q) { |
2085 | spin_lock(qdisc_lock(q)); | ||
2085 | result = q->enqueue(skb, q); | 2086 | result = q->enqueue(skb, q); |
2086 | spin_unlock(&rxq->lock); | 2087 | spin_unlock(qdisc_lock(q)); |
2088 | } | ||
2087 | 2089 | ||
2088 | return result; | 2090 | return result; |
2089 | } | 2091 | } |
@@ -4173,7 +4175,6 @@ static void netdev_init_one_queue(struct net_device *dev, | |||
4173 | struct netdev_queue *queue, | 4175 | struct netdev_queue *queue, |
4174 | void *_unused) | 4176 | void *_unused) |
4175 | { | 4177 | { |
4176 | spin_lock_init(&queue->lock); | ||
4177 | queue->dev = dev; | 4178 | queue->dev = dev; |
4178 | } | 4179 | } |
4179 | 4180 | ||