aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-07-17 03:53:03 -0400
committerDavid S. Miller <davem@davemloft.net>2008-07-17 22:21:30 -0400
commit83874000929ed63aef30b44083a9f713135ff040 (patch)
tree7646fd185751cad8665eca19aa3f87d13c37eade /include
parentc7e4f3bbb4ba4e48ab3b529d5016e454cee1ccd6 (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 'include')
-rw-r--r--include/linux/netdevice.h1
-rw-r--r--include/net/sch_generic.h7
2 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 3170bcef734b..9c5a68850114 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -443,7 +443,6 @@ enum netdev_queue_state_t
443}; 443};
444 444
445struct netdev_queue { 445struct netdev_queue {
446 spinlock_t lock;
447 struct net_device *dev; 446 struct net_device *dev;
448 struct Qdisc *qdisc; 447 struct Qdisc *qdisc;
449 unsigned long state; 448 unsigned long state;
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
index 1eef8d0c9990..2902a42564f0 100644
--- a/include/net/sch_generic.h
+++ b/include/net/sch_generic.h
@@ -163,6 +163,11 @@ struct tcf_proto
163 struct tcf_proto_ops *ops; 163 struct tcf_proto_ops *ops;
164}; 164};
165 165
166static inline spinlock_t *qdisc_lock(struct Qdisc *qdisc)
167{
168 return &qdisc->q.lock;
169}
170
166static inline struct Qdisc *qdisc_root(struct Qdisc *qdisc) 171static inline struct Qdisc *qdisc_root(struct Qdisc *qdisc)
167{ 172{
168 return qdisc->dev_queue->qdisc; 173 return qdisc->dev_queue->qdisc;
@@ -172,7 +177,7 @@ static inline spinlock_t *qdisc_root_lock(struct Qdisc *qdisc)
172{ 177{
173 struct Qdisc *root = qdisc_root(qdisc); 178 struct Qdisc *root = qdisc_root(qdisc);
174 179
175 return &root->dev_queue->lock; 180 return qdisc_lock(root);
176} 181}
177 182
178static inline struct net_device *qdisc_dev(struct Qdisc *qdisc) 183static inline struct net_device *qdisc_dev(struct Qdisc *qdisc)