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 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html