From: John Fastabend <john.fastabend@gmail.com>
To: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Cc: "Daniel Borkmann" <daniel@iogearbox.net>,
"Eric Dumazet" <eric.dumazet@gmail.com>,
make0818@gmail.com,
"Network Development" <netdev@vger.kernel.org>,
"Jiří Pírko" <jiri@resnulli.us>,
"Cong Wang" <xiyou.wangcong@gmail.com>
Subject: Re: [RFC PATCH 10/17] net: sched: qdisc_qlen for per cpu logic
Date: Wed, 15 Nov 2017 07:18:43 -0800 [thread overview]
Message-ID: <e13547b5-ced5-a606-05a8-4a19294afa4e@gmail.com> (raw)
In-Reply-To: <CAF=yD-KiBQ06vMyshQd4WNXP8S2iRKeWfW10LM116Z=Kd+Va0A@mail.gmail.com>
On 11/14/2017 05:16 PM, Willem de Bruijn wrote:
> On Mon, Nov 13, 2017 at 3:10 PM, John Fastabend
> <john.fastabend@gmail.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@gmail.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.
>
Actually I think this change can just be dropped. Looks like
I removed all cases of calling it from NOLOCK paths.
Also squashing this patch with 11/17 seems reasonable will go ahead
and do that.
next prev parent reply other threads:[~2017-11-15 15:19 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-13 20:07 [RFC PATCH 00/17] lockless qdisc John Fastabend
2017-11-13 20:07 ` [RFC PATCH 01/17] net: sched: cleanup qdisc_run and __qdisc_run semantics John Fastabend
2017-11-13 20:08 ` [RFC PATCH 02/17] net: sched: allow qdiscs to handle locking John Fastabend
2017-11-13 20:08 ` [RFC PATCH 03/17] net: sched: remove remaining uses for qdisc_qlen in xmit path John Fastabend
2017-11-15 0:11 ` Willem de Bruijn
2017-11-15 1:56 ` Willem de Bruijn
2017-11-15 15:00 ` John Fastabend
2017-11-13 20:08 ` [RFC PATCH 04/17] net: sched: provide per cpu qstat helpers John Fastabend
2017-11-13 20:09 ` [RFC PATCH 05/17] net: sched: a dflt qdisc may be used with per cpu stats John Fastabend
2017-11-13 20:09 ` [RFC PATCH 06/17] net: sched: explicit locking in gso_cpu fallback John Fastabend
2017-11-15 0:41 ` Willem de Bruijn
2017-11-15 2:04 ` Willem de Bruijn
2017-11-15 15:11 ` John Fastabend
2017-11-15 17:51 ` Willem de Bruijn
2017-11-16 13:31 ` John Fastabend
2017-11-13 20:09 ` [RFC PATCH 07/17] net: sched: drop qdisc_reset from dev_graft_qdisc John Fastabend
2017-11-13 20:10 ` [RFC PATCH 08/17] net: sched: use skb list for skb_bad_tx John Fastabend
2017-11-13 20:10 ` [RFC PATCH 09/17] net: sched: check for frozen queue before skb_bad_txq check John Fastabend
2017-11-13 20:10 ` [RFC PATCH 10/17] net: sched: qdisc_qlen for per cpu logic John Fastabend
2017-11-15 1:16 ` Willem de Bruijn
2017-11-15 15:18 ` John Fastabend [this message]
2017-11-13 20:11 ` [RFC PATCH 11/17] net: sched: helper to sum qlen John Fastabend
2017-11-13 20:11 ` [RFC PATCH 12/17] net: sched: add support for TCQ_F_NOLOCK subqueues to sch_mq John Fastabend
2017-11-15 1:22 ` Willem de Bruijn
2017-11-13 20:11 ` [RFC PATCH 13/17] net: sched: add support for TCQ_F_NOLOCK subqueues to sch_mqprio John Fastabend
2017-11-13 20:12 ` [RFC PATCH 14/17] net: skb_array: expose peek API John Fastabend
2017-11-13 20:12 ` [RFC PATCH 15/17] net: sched: pfifo_fast use skb_array John Fastabend
2017-11-14 23:34 ` Willem de Bruijn
2017-11-15 14:57 ` John Fastabend
2017-11-13 20:12 ` [RFC PATCH 16/17] net: skb_array additions for unlocked consumer John Fastabend
2017-11-13 20:13 ` [RFC PATCH 17/17] net: sched: lock once per bulk dequeue John Fastabend
-- strict thread matches above, loose matches on Subject: below --
2017-05-02 15:24 [RFC PATCH 00/17] latest qdisc patch series John Fastabend
2017-05-02 15:27 ` [RFC PATCH 10/17] net: sched: qdisc_qlen for per cpu logic John Fastabend
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e13547b5-ced5-a606-05a8-4a19294afa4e@gmail.com \
--to=john.fastabend@gmail.com \
--cc=daniel@iogearbox.net \
--cc=eric.dumazet@gmail.com \
--cc=jiri@resnulli.us \
--cc=make0818@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=willemdebruijn.kernel@gmail.com \
--cc=xiyou.wangcong@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).