3.16.52-rc1 review patch. If anyone has any objections, please let me know.
------------------
From: Konstantin Khlebnikov khlebnikov@yandex-team.ru
commit c8e1812960eeae42e2183154927028511c4bc566 upstream.
SKB stored in qdisc->gso_skb also counted into backlog.
Some qdiscs don't reset backlog to zero in ->reset(), for example sfq just dequeue and free all queued skb.
Signed-off-by: Konstantin Khlebnikov khlebnikov@yandex-team.ru Fixes: 2ccccf5fb43f ("net_sched: update hierarchical backlog too") Signed-off-by: David S. Miller davem@davemloft.net [bwh: Backported to 3.16: adjust context] Signed-off-by: Ben Hutchings ben@decadent.org.uk --- net/sched/sch_generic.c | 1 + 1 file changed, 1 insertion(+)
--- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c @@ -621,6 +621,7 @@ void qdisc_reset(struct Qdisc *qdisc) qdisc->gso_skb = NULL; qdisc->q.qlen = 0; } + qdisc->qstats.backlog = 0; } EXPORT_SYMBOL(qdisc_reset);