diff options
author | John Fastabend <john.fastabend@gmail.com> | 2017-12-07 09:57:00 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-12-08 13:32:26 -0500 |
commit | 7e66016f2c65bfc1181f42274fcb7f1183ab1bb5 (patch) | |
tree | c3ab895c92d9eef6e0c55d267f8712b956184de5 /net/sched | |
parent | fd8e8d1a775d82f04215f4b884a1962774805346 (diff) | |
download | linux-7e66016f2c65bfc1181f42274fcb7f1183ab1bb5.tar.gz linux-7e66016f2c65bfc1181f42274fcb7f1183ab1bb5.tar.bz2 linux-7e66016f2c65bfc1181f42274fcb7f1183ab1bb5.zip |
net: sched: helpers to sum qlen and qlen for per cpu logic
Add qdisc qlen helper routines for lockless qdiscs to use.
The qdisc qlen is no longer used in the hotpath but it is reported
via stats query on the qdisc so it still needs to be tracked. This
adds the per cpu operations needed along with a helper to return
the summation of per cpu stats.
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched')
-rw-r--r-- | net/sched/sch_api.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c index a48ca41b7ecf..c669bb3b89b2 100644 --- a/net/sched/sch_api.c +++ b/net/sched/sch_api.c @@ -797,7 +797,8 @@ static int tc_fill_qdisc(struct sk_buff *skb, struct Qdisc *q, u32 clid, goto nla_put_failure; if (q->ops->dump && q->ops->dump(q, skb) < 0) goto nla_put_failure; - qlen = q->q.qlen; + + qlen = qdisc_qlen_sum(q); stab = rtnl_dereference(q->stab); if (stab && qdisc_dump_stab(skb, stab) < 0) |