From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakub Kicinski Subject: [PATCH net-next 06/14] net: sched: add qstats.qlen to qlen Date: Fri, 25 May 2018 21:53:30 -0700 Message-ID: <20180526045338.10993-7-jakub.kicinski@netronome.com> References: <20180526045338.10993-1-jakub.kicinski@netronome.com> Cc: jiri@resnulli.us, xiyou.wangcong@gmail.com, john.fastabend@gmail.com, netdev@vger.kernel.org, oss-drivers@netronome.com, alexei.starovoitov@gmail.com, nogahf@mellanox.com, yuvalm@mellanox.com, gerlitz.or@gmail.com, Jakub Kicinski To: davem@davemloft.net Return-path: Received: from mail-qk0-f195.google.com ([209.85.220.195]:38307 "EHLO mail-qk0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932181AbeEZEze (ORCPT ); Sat, 26 May 2018 00:55:34 -0400 Received: by mail-qk0-f195.google.com with SMTP id c23-v6so5650249qkb.5 for ; Fri, 25 May 2018 21:55:34 -0700 (PDT) In-Reply-To: <20180526045338.10993-1-jakub.kicinski@netronome.com> Sender: netdev-owner@vger.kernel.org List-ID: AFAICT struct gnet_stats_queue.qlen is not used in Qdiscs. It may, however, be useful for offloads to report HW queue length there. Add that value to the result of qdisc_qlen_sum(). Signed-off-by: Jakub Kicinski --- include/net/sch_generic.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index 98c10a28cd01..0b786c8204b9 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h @@ -350,14 +350,14 @@ static inline int qdisc_qlen(const struct Qdisc *q) static inline int qdisc_qlen_sum(const struct Qdisc *q) { - __u32 qlen = 0; + __u32 qlen = q->qstats.qlen; int i; if (q->flags & TCQ_F_NOLOCK) { for_each_possible_cpu(i) qlen += per_cpu_ptr(q->cpu_qstats, i)->qlen; } else { - qlen = q->q.qlen; + qlen += q->q.qlen; } return qlen; -- 2.17.0