From: Joel Fernandes <joel@joelfernandes.org>
To: Eric Dumazet <edumazet@google.com>
Cc: linux-kernel@vger.kernel.org,
Cong Wang <xiyou.wangcong@gmail.com>,
David Ahern <dsahern@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>,
Jakub Kicinski <kuba@kernel.org>,
Jamal Hadi Salim <jhs@mojatatu.com>,
Jiri Pirko <jiri@resnulli.us>,
netdev@vger.kernel.org, Paolo Abeni <pabeni@redhat.com>,
rcu@vger.kernel.org, rostedt@goodmis.org, paulmck@kernel.org,
fweisbec@gmail.com
Subject: Re: [PATCH rcu/dev 1/3] net: Use call_rcu_flush() for qdisc_free_cb
Date: Fri, 18 Nov 2022 00:23:59 +0000 [thread overview]
Message-ID: <Y3bQn3o1A4KFp7qV@google.com> (raw)
In-Reply-To: <CANn89iJuy=PuAiwrjF3qZY0M+86eRQ=o_x-m-eoxOdyAM8yoSg@mail.gmail.com>
On Thu, Nov 17, 2022 at 01:44:12PM -0800, Eric Dumazet wrote:
> On Wed, Nov 16, 2022 at 7:16 PM Joel Fernandes (Google)
> <joel@joelfernandes.org> wrote:
> >
> > In a networking test on ChromeOS, we find that using the new CONFIG_RCU_LAZY
> > causes a networking test to fail in the teardown phase.
> >
> > The failure happens during: ip netns del <name>
> >
> > Using ftrace, I found the callbacks it was queuing which this series fixes. Use
> > call_rcu_flush() to revert to the old behavior. With that, the test passes.
> >
> > Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
> > ---
> > net/sched/sch_generic.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
> > index a9aadc4e6858..63fbf640d3b2 100644
> > --- a/net/sched/sch_generic.c
> > +++ b/net/sched/sch_generic.c
> > @@ -1067,7 +1067,7 @@ static void qdisc_destroy(struct Qdisc *qdisc)
> >
> > trace_qdisc_destroy(qdisc);
> >
> > - call_rcu(&qdisc->rcu, qdisc_free_cb);
> > + call_rcu_flush(&qdisc->rcu, qdisc_free_cb);
> > }
>
> I took a look at this one.
>
> qdisc_free_cb() is essentially freeing : Some per-cpu memory, and the
> 'struct Qdisc'
>
> I do not see why we need to force a flush for this (small ?) piece of memory.
Indeed! Just tested and dropping this one still makes the test pass.
I believe this patch was papering over the issues fixed by the other
patches, so it stuck.
I will drop this one and move over to trying your suggestions for 2/3.
Thanks for taking a look,
- Joel
prev parent reply other threads:[~2022-11-18 0:24 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-17 3:15 [PATCH rcu/dev 1/3] net: Use call_rcu_flush() for qdisc_free_cb Joel Fernandes (Google)
2022-11-17 3:15 ` [PATCH rcu/dev 2/3] net: Use call_rcu_flush() for in_dev_rcu_put Joel Fernandes (Google)
2022-11-17 21:58 ` Eric Dumazet
2022-11-18 0:52 ` Joel Fernandes
2022-11-18 1:12 ` Eric Dumazet
2022-11-17 3:15 ` [PATCH rcu/dev 3/3] net: Use call_rcu_flush() for dst_destroy_rcu Joel Fernandes (Google)
2022-11-17 3:44 ` Eric Dumazet
2022-11-17 15:58 ` Joel Fernandes
2022-11-17 17:17 ` Eric Dumazet
2022-11-17 17:33 ` Eric Dumazet
2022-11-17 17:38 ` Joel Fernandes
2022-11-17 17:39 ` Eric Dumazet
2022-11-17 17:42 ` Joel Fernandes
2022-11-17 17:49 ` Eric Dumazet
2022-11-17 18:18 ` Joel Fernandes
2022-11-17 18:22 ` Eric Dumazet
2022-11-17 17:40 ` Joel Fernandes
2022-11-17 19:29 ` Paul E. McKenney
2022-11-17 21:16 ` Joel Fernandes
2022-11-17 21:29 ` Eric Dumazet
2022-11-18 1:05 ` Joel Fernandes
2022-11-17 21:44 ` [PATCH rcu/dev 1/3] net: Use call_rcu_flush() for qdisc_free_cb Eric Dumazet
2022-11-17 21:58 ` Joel Fernandes
2022-11-18 0:23 ` Joel Fernandes [this message]
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=Y3bQn3o1A4KFp7qV@google.com \
--to=joel@joelfernandes.org \
--cc=davem@davemloft.net \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=fweisbec@gmail.com \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=paulmck@kernel.org \
--cc=rcu@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=xiyou.wangcong@gmail.com \
--cc=yoshfuji@linux-ipv6.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.