Re: [Patch net] sch_sfb: keep backlog updated with qlen

2016-09-22 Thread Jamal Hadi Salim

On 16-09-18 07:22 PM, Cong Wang wrote:

Fixes: 2f5fb43f ("net_sched: update hierarchical backlog too")
Cc: Jamal Hadi Salim 
Signed-off-by: Cong Wang 


Acked-by: Jamal Hadi Salim 

cheers,
jamal


[Patch net] sch_sfb: keep backlog updated with qlen

2016-09-18 Thread Cong Wang
Fixes: 2f5fb43f ("net_sched: update hierarchical backlog too")
Cc: Jamal Hadi Salim 
Signed-off-by: Cong Wang 
---
 net/sched/sch_sfb.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/net/sched/sch_sfb.c b/net/sched/sch_sfb.c
index add3cc7..20a350b 100644
--- a/net/sched/sch_sfb.c
+++ b/net/sched/sch_sfb.c
@@ -400,6 +400,7 @@ static int sfb_enqueue(struct sk_buff *skb, struct Qdisc 
*sch,
 enqueue:
ret = qdisc_enqueue(skb, child, to_free);
if (likely(ret == NET_XMIT_SUCCESS)) {
+   qdisc_qstats_backlog_inc(sch, skb);
sch->q.qlen++;
increment_qlen(skb, q);
} else if (net_xmit_drop_count(ret)) {
@@ -428,6 +429,7 @@ static struct sk_buff *sfb_dequeue(struct Qdisc *sch)
 
if (skb) {
qdisc_bstats_update(sch, skb);
+   qdisc_qstats_backlog_dec(sch, skb);
sch->q.qlen--;
decrement_qlen(skb, q);
}
@@ -450,6 +452,7 @@ static void sfb_reset(struct Qdisc *sch)
struct sfb_sched_data *q = qdisc_priv(sch);
 
qdisc_reset(q->qdisc);
+   sch->qstats.backlog = 0;
sch->q.qlen = 0;
q->slot = 0;
q->double_buffering = false;
-- 
2.1.0