This patchset aims to reduce the number of qdisc resets during qdisc tear down. Patch 1~3 are preparation for their following patches, especially patch 2 and patch 3 add a few tracepoints so that we can observe the whole lifetime of qdisc's. Patch 4 and patch 5 are the ones do the actual work. Please find more details in each patch description.
Vaclav Zindulka tested this patchset and his large ruleset with over 13k qdiscs defined got from 22s to 520ms. --- Cong Wang (5): net_sched: use qdisc_reset() in qdisc_destroy() net_sched: add tracepoints for qdisc_reset() and qdisc_destroy() net_sched: add a tracepoint for qdisc creation net_sched: avoid resetting active qdisc for multiple times net_sched: get rid of unnecessary dev_qdisc_reset() include/trace/events/qdisc.h | 75 ++++++++++++++++++++++++++++++++++++ net/sched/sch_api.c | 3 ++ net/sched/sch_generic.c | 75 +++++++++++++++--------------------- 3 files changed, 110 insertions(+), 43 deletions(-) -- 2.26.2