[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAF=yD-KiBQ06vMyshQd4WNXP8S2iRKeWfW10LM116Z=Kd+Va0A@mail.gmail.com>
Date: Tue, 14 Nov 2017 20:16:06 -0500
From: Willem de Bruijn <willemdebruijn.kernel@...il.com>
To: John Fastabend <john.fastabend@...il.com>
Cc: Daniel Borkmann <daniel@...earbox.net>,
Eric Dumazet <eric.dumazet@...il.com>, make0818@...il.com,
Network Development <netdev@...r.kernel.org>,
Jiří Pírko <jiri@...nulli.us>,
Cong Wang <xiyou.wangcong@...il.com>
Subject: Re: [RFC PATCH 10/17] net: sched: qdisc_qlen for per cpu logic
On Mon, Nov 13, 2017 at 3:10 PM, John Fastabend
<john.fastabend@...il.com> wrote:
> 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.
>
> Signed-off-by: John Fastabend <john.fastabend@...il.com>
> ---
> 0 files changed
>
> diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
> index 4717c4b..bad24a9 100644
> --- a/include/net/sch_generic.h
> +++ b/include/net/sch_generic.h
> @@ -291,8 +291,16 @@ static inline void qdisc_cb_private_validate(const struct sk_buff *skb, int sz)
> BUILD_BUG_ON(sizeof(qcb->data) < sz);
> }
>
> +static inline int qdisc_qlen_cpu(const struct Qdisc *q)
> +{
> + return this_cpu_ptr(q->cpu_qstats)->qlen;
> +}
> +
> static inline int qdisc_qlen(const struct Qdisc *q)
> {
> + if (q->flags & TCQ_F_NOLOCK)
> + return qdisc_qlen_cpu(q);
Shouldn't this return qdisc_qlen_sum from the follow-on patch?
The two patches can also be squashed.
Powered by blists - more mailing lists