diff options
author | Jiri Kosina <jkosina@suse.cz> | 2016-08-10 11:05:15 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-08-11 02:19:02 +0200 |
commit | 59cc1f61f09c26ce82c308e24b76141e1efe99f8 (patch) | |
tree | f643eab05a5617402f6f995b0304d3fbfa48570e /include/net/sch_generic.h | |
parent | net: resolve symbol conflicts with generic hashtable.h (diff) | |
download | linux-59cc1f61f09c26ce82c308e24b76141e1efe99f8.tar.xz linux-59cc1f61f09c26ce82c308e24b76141e1efe99f8.zip |
net: sched: convert qdisc linked list to hashtable
Convert the per-device linked list into a hashtable. The primary
motivation for this change is that currently, we're not tracking all the
qdiscs in hierarchy (e.g. excluding default qdiscs), as the lookup
performed over the linked list by qdisc_match_from_root() is rather
expensive.
The ultimate goal is to get rid of hidden qdiscs completely, which will
bring much more determinism in user experience.
Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/sch_generic.h')
-rw-r--r-- | include/net/sch_generic.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index 909aff2db2b3..0d501779cc68 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h @@ -61,7 +61,7 @@ struct Qdisc { u32 limit; const struct Qdisc_ops *ops; struct qdisc_size_table __rcu *stab; - struct list_head list; + struct hlist_node hash; u32 handle; u32 parent; void *u32_node; |