summaryrefslogtreecommitdiff
path: root/include/net/sch_generic.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-07-17 00:53:03 -0700
committerDavid S. Miller <davem@davemloft.net>2008-07-17 19:21:30 -0700
commit83874000929ed63aef30b44083a9f713135ff040 (patch)
tree7646fd185751cad8665eca19aa3f87d13c37eade /include/net/sch_generic.h
parentc7e4f3bbb4ba4e48ab3b529d5016e454cee1ccd6 (diff)
downloadlwn-83874000929ed63aef30b44083a9f713135ff040.tar.gz
lwn-83874000929ed63aef30b44083a9f713135ff040.zip
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/net/sch_generic.h')
-rw-r--r--include/net/sch_generic.h7
1 files changed, 6 insertions, 1 deletions
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
struct tcf_proto_ops *ops;
};
+static inline spinlock_t *qdisc_lock(struct Qdisc *qdisc)
+{
+ return &qdisc->q.lock;
+}
+
static inline struct Qdisc *qdisc_root(struct Qdisc *qdisc)
{
return qdisc->dev_queue->qdisc;
@@ -172,7 +177,7 @@ static inline spinlock_t *qdisc_root_lock(struct Qdisc *qdisc)
{
struct Qdisc *root = qdisc_root(qdisc);
- return &root->dev_queue->lock;
+ return qdisc_lock(root);
}
static inline struct net_device *qdisc_dev(struct Qdisc *qdisc)