On 2017-08-21 10:14, Konstantin Khlebnikov wrote: > When codel wants to drop last packet in ->dequeue() it cannot call > qdisc_tree_reduce_backlog() right away - it will notify parent qdisc > about zero qlen and HTB/HFSC will deactivate class. The same class will > be deactivated second time by caller of ->dequeue(). Currently codel and > fq_codel defer update. This triggers warning in HFSC when it's qlen != 0 > but there is no active classes. > > This patch update parent queue length immediately: just temporary increase > qlen around qdisc_tree_reduce_backlog() to prevent first class deactivation > if we have skb to return. > > This might open another problem in HFSC - now operation peek could fail and > deactivate parent class. > > Signed-off-by: Konstantin Khlebnikov <khlebni...@yandex-team.ru> > Link: https://bugzilla.kernel.org/show_bug.cgi?id=109581 This has been tested by several people and it seems to be working well. Please make sure this gets merged soon.
Thanks, - Felix