net_sched: call qlen_notify only if child qdisc is empty
authorKonstantin Khlebnikov <khlebnikov@yandex-team.ru>
Tue, 15 Aug 2017 13:39:59 +0000 (16:39 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 16 Aug 2017 17:55:34 +0000 (10:55 -0700)
commit959466588aa7f84ccf79ae36a1d89542eaf9aaec
tree92eb64dfd551fdcf0b9e09b113fe59bc3f178557
parent869cec99b4f7c4b97e3e912529cf8505ed1e6c25
net_sched: call qlen_notify only if child qdisc is empty

This callback is used for deactivating class in parent qdisc.
This is cheaper to test queue length right here.

Also this allows to catch draining screwed backlog and prevent
second deactivation of already inactive parent class which will
crash kernel for sure. Kernel with print warning at destruction
of child qdisc where no packets but backlog is not zero.

Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_api.c
net/sched/sch_cbq.c
net/sched/sch_drr.c
net/sched/sch_hfsc.c
net/sched/sch_htb.c
net/sched/sch_qfq.c