diff options
author | Dust Li <dust.li@linux.alibaba.com> | 2019-12-03 11:17:40 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-12-03 11:53:55 -0800 |
commit | 2f23cd42e19c22c24ff0e221089b7b6123b117c5 (patch) | |
tree | ce2e53a524b4584053dca5b04fd261f29cc54d65 /net | |
parent | 0d580fbd2db084a5c96ee9c00492236a279d5e0f (diff) | |
download | linux-2f23cd42e19c22c24ff0e221089b7b6123b117c5.tar.gz linux-2f23cd42e19c22c24ff0e221089b7b6123b117c5.tar.bz2 linux-2f23cd42e19c22c24ff0e221089b7b6123b117c5.zip |
net: sched: fix dump qlen for sch_mq/sch_mqprio with NOLOCK subqueues
sch->q.len hasn't been set if the subqueue is a NOLOCK qdisc
in mq_dump() and mqprio_dump().
Fixes: ce679e8df7ed ("net: sched: add support for TCQ_F_NOLOCK subqueues to sch_mqprio")
Signed-off-by: Dust Li <dust.li@linux.alibaba.com>
Signed-off-by: Tony Lu <tonylu@linux.alibaba.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/sched/sch_mq.c | 1 | ||||
-rw-r--r-- | net/sched/sch_mqprio.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/net/sched/sch_mq.c b/net/sched/sch_mq.c index 278c0b2dc523..e79f1afe0cfd 100644 --- a/net/sched/sch_mq.c +++ b/net/sched/sch_mq.c @@ -153,6 +153,7 @@ static int mq_dump(struct Qdisc *sch, struct sk_buff *skb) __gnet_stats_copy_queue(&sch->qstats, qdisc->cpu_qstats, &qdisc->qstats, qlen); + sch->q.qlen += qlen; } else { sch->q.qlen += qdisc->q.qlen; sch->bstats.bytes += qdisc->bstats.bytes; diff --git a/net/sched/sch_mqprio.c b/net/sched/sch_mqprio.c index 0d0113a24962..de4e00a58bc6 100644 --- a/net/sched/sch_mqprio.c +++ b/net/sched/sch_mqprio.c @@ -411,6 +411,7 @@ static int mqprio_dump(struct Qdisc *sch, struct sk_buff *skb) __gnet_stats_copy_queue(&sch->qstats, qdisc->cpu_qstats, &qdisc->qstats, qlen); + sch->q.qlen += qlen; } else { sch->q.qlen += qdisc->q.qlen; sch->bstats.bytes += qdisc->bstats.bytes; |