Subject: Re: [Patch net-next 3/4] sch_htb: update backlog as well

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

On 10/12/15 14:38, Cong Wang wrote:
> It is odd to see qlen!=0 but backlog==0, for a real example:
>

Backlog is a transient stat so a lot of times it should be 0. Only when
the CPU is sending faster than the link can handle should you see
the backlog grow (and eventually drain to 0).

Even though your explanation above is inaccurate I think the spirit
of the patch looks reasonable. i.e keeping track of all additions to
the queue and removals from the queue in the backlog stats is useful.
However, you need to be extremely careful: This should only be done
at exactly the spot the packet is enqueued (and not by a parent's
enqueue asking for hierarchical enques).

I think some more work is needed Cong for this general patchset.

cheers,
jamal

> qdisc htb 1: dev eth0 root refcnt 2 r2q 10 default 1 direct_packets_stat 0 ver 3.17
>   Sent 172680457356 bytes 222469449 pkt (dropped 0, overlimits 123575834 requeues 0)
>   backlog 0b 72p requeues 0
>
> So we need to update backlog too when we update qlen.
>
> Cc: Jamal Hadi Salim <[email-masked]>
> Signed-off-by: Cong Wang <[email-masked]>
> Signed-off-by: Cong Wang <[email-masked]>
> ---