From: Paolo Abeni <pabeni@redhat.com>
To: Eric Dumazet <eric.dumazet@gmail.com>, netdev@vger.kernel.org
Cc: "David S. Miller" <davem@davemloft.net>,
Jamal Hadi Salim <jhs@mojatatu.com>,
Cong Wang <xiyou.wangcong@gmail.com>,
Jiri Pirko <jiri@resnulli.us>, Eric Dumazet <edumazet@google.com>,
Ivan Vecera <ivecera@redhat.com>
Subject: Re: [PATCH net-next 5/5] Revert: "net: sched: put back q.qlen into a single location"
Date: Tue, 09 Apr 2019 09:52:40 +0200 [thread overview]
Message-ID: <0f1b4b528b14822c067a4c20f237f2a02c719dfa.camel@redhat.com> (raw)
In-Reply-To: <1871d6ac-cb83-69a5-608c-d944fa93b315@gmail.com>
Hi,
On Mon, 2019-04-08 at 14:17 -0700, Eric Dumazet wrote:
> On 04/08/2019 09:35 AM, Paolo Abeni wrote:
> > This revert commit 46b1c18f9deb ("net: sched: put back q.qlen
> > into a single location").
> > After the previous patch nobody accesses directly qlen for a child
> > qdisc when such qdisc does per CPU stats accounting.
> > In the control path nobody uses directly qlen since commit
> > 677f1bc207c ("net: sched: introduce and use qdisc tree flush/purge
> > helpers"), so we can remove the contented atomic ops from the
> > datapath.
> >
>
> Have you tested HTB with a pfifo_fast on a throttled class ?
>
> I do not see any changes in HTB in your patch series, so it is not
> clear why your patch series is not adding back the issue.
Thank you for the feedback.
I tested this series enslaving pfifo_fast to each classful qdiscs -
including HTB - sending traffic through the pfifo_fast qdisc, and
checking correct accounting.
When pfifo_fast is enslaved to HTB, the NOLOCK flag is cleared - by
qdisc_graft(), as HTB is a lock qdisc. As per patch 4/5, TCQ_F_CPUSTATS
is cleared, too, so pfifo_fast switches to global accounting, under
root lock protection.
In HTB context, <child pfifo_fast>->q.qlen should be always valid, no
changes required there, nor to any other classful qdisc - until we will
have lockless classful qdiscs: they should not access <child>->q.qlen
directly.
Please let me know if the above is somewhat clear. Have I missed
something?
Thanks,
Paolo
next prev parent reply other threads:[~2019-04-09 7:52 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-08 16:35 [PATCH net-next 0/5] net: sched: move back qlen to per CPU accounting Paolo Abeni
2019-04-08 16:35 ` [PATCH net-next 1/5] net: caif: avoid using qdisc_qlen() Paolo Abeni
2019-04-08 16:35 ` [PATCH net-next 2/5] net: sched: prefer qdisc_is_empty() over direct qlen access Paolo Abeni
2019-04-08 16:35 ` [PATCH net-next 3/5] net: sched: always do stats accounting according to TCQ_F_CPUSTATS Paolo Abeni
2019-04-09 9:50 ` kbuild test robot
2019-04-09 10:41 ` Paolo Abeni
2019-04-09 10:19 ` kbuild test robot
2019-04-08 16:35 ` [PATCH net-next 4/5] net: sched: when clearing NOLOCK, clear TCQ_F_CPUSTATS, too Paolo Abeni
2019-04-08 16:35 ` [PATCH net-next 5/5] Revert: "net: sched: put back q.qlen into a single location" Paolo Abeni
2019-04-08 21:17 ` Eric Dumazet
2019-04-09 7:52 ` Paolo Abeni [this message]
2019-04-09 9:51 ` kbuild test robot
2019-04-09 11:55 ` kbuild test robot
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=0f1b4b528b14822c067a4c20f237f2a02c719dfa.camel@redhat.com \
--to=pabeni@redhat.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=eric.dumazet@gmail.com \
--cc=ivecera@redhat.com \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=netdev@vger.kernel.org \
--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).