diff options
author | Patrick McHardy <kaber@trash.net> | 2007-04-16 20:02:10 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 01:29:07 -0400 |
commit | 0463d4ae25771aaf3379bb6b2392f6edf23c2828 (patch) | |
tree | 5c820b718abfe086a7b1d91814cb99d721439a46 /net/sched/cls_api.c | |
parent | ffa4d7216e848fbfdcb8e6f0bb66abeaa1888964 (diff) |
[NET_SCHED]: Eliminate qdisc_tree_lock
Since we're now holding the rtnl during the entire dump operation, we
can remove qdisc_tree_lock, whose only purpose is to protect dump
callbacks from concurrent changes to the qdisc tree.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/cls_api.c')
-rw-r--r-- | net/sched/cls_api.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index ca3da5013b7a..ebf94edf0478 100644 --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c | |||
@@ -400,7 +400,6 @@ static int tc_dump_tfilter(struct sk_buff *skb, struct netlink_callback *cb) | |||
400 | if ((dev = dev_get_by_index(tcm->tcm_ifindex)) == NULL) | 400 | if ((dev = dev_get_by_index(tcm->tcm_ifindex)) == NULL) |
401 | return skb->len; | 401 | return skb->len; |
402 | 402 | ||
403 | read_lock(&qdisc_tree_lock); | ||
404 | if (!tcm->tcm_parent) | 403 | if (!tcm->tcm_parent) |
405 | q = dev->qdisc_sleeping; | 404 | q = dev->qdisc_sleeping; |
406 | else | 405 | else |
@@ -457,7 +456,6 @@ errout: | |||
457 | if (cl) | 456 | if (cl) |
458 | cops->put(q, cl); | 457 | cops->put(q, cl); |
459 | out: | 458 | out: |
460 | read_unlock(&qdisc_tree_lock); | ||
461 | dev_put(dev); | 459 | dev_put(dev); |
462 | return skb->len; | 460 | return skb->len; |
463 | } | 461 | } |