From: Frederic Weisbecker <frederic@kernel.org>
To: "Paul E. McKenney" <paulmck@kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
Steven Rostedt <rostedt@goodmis.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Lai Jiangshan <jiangshanlai@gmail.com>,
Joel Fernandes <joel@joelfernandes.org>,
Josh Triplett <josh@joshtriplett.org>
Subject: Re: [PATCH 08/10] rcu: Allow to deactivate nocb on a CPU
Date: Fri, 15 May 2020 00:55:21 +0200 [thread overview]
Message-ID: <20200514225520.GC4071@lenoir> (raw)
In-Reply-To: <20200514224735.GA2869@paulmck-ThinkPad-P72>
On Thu, May 14, 2020 at 03:47:35PM -0700, Paul E. McKenney wrote:
> On Fri, May 15, 2020 at 12:30:23AM +0200, Frederic Weisbecker wrote:
> > On Thu, May 14, 2020 at 08:47:07AM -0700, Paul E. McKenney wrote:
> > > On Thu, May 14, 2020 at 12:45:26AM +0200, Frederic Weisbecker wrote:
> > > This last seems best to me. The transition from CBLIST_NOT_OFFLOADED
> > > to CBLIST_OFFLOADING of course needs to be on the CPU in question with
> > > at least bh disabled. Probably best to be holding rcu_nocb_lock(),
> > > but that might just be me being overly paranoid.
> >
> > So that's in the case of offloading, right? Well, I don't think we'd
> > need to even disable bh nor lock nocb. We just need the current CPU
> > to see the local update of cblist->offloaded = CBLIST_OFFLOADING
> > before the kthread is unparked:
> >
> > cblist->offloaded = CBLIST_OFFLOADING;
> > /* Make sure subsequent softirq lock nocb */
> > barrier();
> > kthread_unpark(rdp->nocb_cb_thread);
> >
> > Now, although that guarantees that nocb_cb will see CBLIST_OFFLOADING
> > upon unparking, it's not guaranteed that the nocb_gp will see it on its
> > next round. Ok so eventually you're right, I should indeed lock nocb...
>
> I suspect that our future selves would hate us much less if we held
> that lock. ;-)
Also, taking the decision to hold that lock could teach a lesson to our
past selves. Win-win! Let us become that most welcome time bridge!
next prev parent reply other threads:[~2020-05-14 22:55 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-13 16:47 [PATCH 00/10] rcu: Allow a CPU to leave and reenter NOCB state Frederic Weisbecker
2020-05-13 16:47 ` [PATCH 01/10] rcu: Directly lock rdp->nocb_lock on nocb code entrypoints Frederic Weisbecker
2020-05-20 12:29 ` Joel Fernandes
2020-05-22 17:57 ` Paul E. McKenney
2020-05-26 15:21 ` Joel Fernandes
2020-05-26 16:29 ` Paul E. McKenney
2020-05-26 20:18 ` Joel Fernandes
2020-05-26 21:09 ` Paul E. McKenney
2020-05-26 21:27 ` Joel Fernandes
2020-05-26 22:29 ` Paul E. McKenney
2020-05-27 0:45 ` Joel Fernandes
2020-05-27 0:58 ` Paul E. McKenney
2020-06-04 11:41 ` Frederic Weisbecker
2020-06-04 16:36 ` Paul E. McKenney
2020-06-08 12:57 ` Frederic Weisbecker
2020-06-09 18:02 ` Paul E. McKenney
2020-06-10 13:12 ` Frederic Weisbecker
2020-06-10 14:02 ` Paul E. McKenney
2020-06-10 22:12 ` Frederic Weisbecker
2020-06-10 23:21 ` Paul E. McKenney
2020-06-11 1:32 ` Joel Fernandes
2020-05-13 16:47 ` [PATCH 02/10] rcu: Use direct rdp->nocb_lock operations on local calls Frederic Weisbecker
2020-05-13 16:47 ` [PATCH 03/10] rcu: Make locking explicit in do_nocb_deferred_wakeup_common() Frederic Weisbecker
2020-05-26 19:54 ` Joel Fernandes
2020-05-26 19:59 ` Joel Fernandes
2020-05-13 16:47 ` [PATCH 04/10] rcu: Implement rcu_segcblist_is_offloaded() config dependent Frederic Weisbecker
2020-05-13 18:20 ` Paul E. McKenney
2020-05-13 23:03 ` Frederic Weisbecker
2020-05-14 15:47 ` Paul E. McKenney
2020-05-13 16:47 ` [PATCH 05/10] rcu: Remove useless conditional nocb unlock Frederic Weisbecker
2020-05-13 16:47 ` [PATCH 06/10] rcu: Make nocb_cb kthread parkable Frederic Weisbecker
2020-06-11 1:34 ` Joel Fernandes
2020-05-13 16:47 ` [PATCH 07/10] rcu: Temporarily assume that nohz full CPUs might not be NOCB Frederic Weisbecker
2020-05-13 18:25 ` Paul E. McKenney
2020-05-13 23:08 ` Frederic Weisbecker
2020-05-14 15:50 ` Paul E. McKenney
2020-05-14 22:49 ` Frederic Weisbecker
2020-05-13 16:47 ` [PATCH 08/10] rcu: Allow to deactivate nocb on a CPU Frederic Weisbecker
2020-05-13 18:38 ` Paul E. McKenney
2020-05-13 22:45 ` Frederic Weisbecker
2020-05-14 15:47 ` Paul E. McKenney
2020-05-14 22:30 ` Frederic Weisbecker
2020-05-14 22:47 ` Paul E. McKenney
2020-05-14 22:55 ` Frederic Weisbecker [this message]
2020-05-26 21:20 ` Joel Fernandes
2020-05-26 22:49 ` Joel Fernandes
2020-06-04 13:10 ` Frederic Weisbecker
2020-06-11 1:32 ` Joel Fernandes
2020-06-11 17:03 ` Paul E. McKenney
2020-06-04 13:14 ` Frederic Weisbecker
2020-05-13 16:47 ` [PATCH 09/10] rcu: Allow to re-offload a CPU that used to be nocb Frederic Weisbecker
2020-05-13 18:41 ` Paul E. McKenney
2020-05-13 16:47 ` [PATCH 10/10] rcu: Nocb (de)activate through sysfs Frederic Weisbecker
2020-05-13 18:42 ` Paul E. McKenney
2020-05-13 23:23 ` Frederic Weisbecker
2020-05-14 15:51 ` Paul E. McKenney
2020-05-13 18:15 ` [PATCH 00/10] rcu: Allow a CPU to leave and reenter NOCB state Paul E. McKenney
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=20200514225520.GC4071@lenoir \
--to=frederic@kernel.org \
--cc=jiangshanlai@gmail.com \
--cc=joel@joelfernandes.org \
--cc=josh@joshtriplett.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=paulmck@kernel.org \
--cc=rostedt@goodmis.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.