diff options
author | Dust Li <dust.li@linux.alibaba.com> | 2019-12-03 11:17:40 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-12-21 10:57:12 +0100 |
commit | 0c5a4dd6ae93216a5f1e0ef4d13cb3852354b3bd (patch) | |
tree | 996546eb7087e2e6656f07fdcd5009ce9a53edde /net/sched | |
parent | 64334e4f982585c1eb53d3cc067c5641aac0122b (diff) | |
download | linux-stable-0c5a4dd6ae93216a5f1e0ef4d13cb3852354b3bd.tar.gz linux-stable-0c5a4dd6ae93216a5f1e0ef4d13cb3852354b3bd.tar.bz2 linux-stable-0c5a4dd6ae93216a5f1e0ef4d13cb3852354b3bd.zip |
net: sched: fix dump qlen for sch_mq/sch_mqprio with NOLOCK subqueues
[ Upstream commit 2f23cd42e19c22c24ff0e221089b7b6123b117c5 ]
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/sched')
-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 15c6eb547684..c008a316e943 100644 --- a/net/sched/sch_mq.c +++ b/net/sched/sch_mq.c @@ -158,6 +158,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 7f280a5232b8..008db8d59ace 100644 --- a/net/sched/sch_mqprio.c +++ b/net/sched/sch_mqprio.c @@ -413,6 +413,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; |