Subject: Re: [Patch net-next 2/4] net_sched: update hierarchical backlog too

From: Jamal Hadi Salim <[email-masked]>
Date: Wed, 14 Oct 2015 08:11:15 -0400

On 10/12/15 14:38, Cong Wang wrote:
> When the bottom qdisc decides to, for example, drop some packet,
> it calls qdisc_tree_decrease_qlen() to update the queue length
> for all its ancestors, we need to update the backlog too to
> keep the stats on root qdisc accurate.
>

There is more than one change in there (the codel change seems
out of place and i wasnt sure why it was needed).
Also it seems possible you are double-dipping in some cases;
i dont have time to scrutinize - but looking at codel_change() change
when the queue limit is exceeded you will end up affecting backlog from
both qdisc_qstats_backlog_dec() and your new
qdisc_tree_reduce_backlog()

BTW: Codel usage of looking at queue limit during control update
seems strange.

cheers,
jamal