From: Ingo Molnar <mingo@kernel.org>
To: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Cc: linux-kernel@vger.kernel.org, lv.zheng@intel.com, bp@alien8.de,
rjw@rjwysocki.net, stan.kain@gmail.com, waffolz@hotmail.com,
emanuel.castelo@gmail.com, bpesavento@infinito.it,
fredbezies@gmail.com, torvalds@linux-foundation.org
Subject: Re: [GIT RFC PULL rcu/urgent] Make RCU synchronous grace periods work throughout boot
Date: Mon, 16 Jan 2017 07:51:24 +0100 [thread overview]
Message-ID: <20170116065124.GA27645@gmail.com> (raw)
In-Reply-To: <20170115203026.GA13304@linux.vnet.ibm.com>
* Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
> Hello, Ingo,
>
> This series contains a pair of commits that permit RCU synchronous grace
> periods (synchronize_rcu() and friends) to work correctly throughout boot.
> This eliminates the current "dead time" starting when the scheduler spawns
> its first taks and ending when the last of RCU's kthreads is spawned
> (this last happens during early_initcall() time). Although RCU's
> synchronous grace periods have long been documented as not working
> during this time, prior to 4.9, the expedited grace periods worked by
> accident, and some ACPI code came to rely on this unintentional behavior.
> (Note that this unintentional behavior was -not- reliable. For example,
> failures from ACPI could occur on !SMP systems and on systems booting
> with the rcu_normal kernel boot parameter.)
>
> Either way, there is a bug that needs fixing, and the 4.9 switch of RCU's
> expedited grace periods to workqueues could be considered to have caused
> a regression. This series therefore makes RCU's expedited grace periods
> operate correctly throughout the boot process. This has been demonstrated
> to fix the problems ACPI was encountering, and has the added longer-term
> benefit of simplifying RCU's behavior. I am therefore submitting this
> RFC pull request for your consideration despite it being rather late in
> the 4.10 process.
>
> Please see the commit log of 52d7e48b86fc ("rcu: Narrow early boot
> window of illegal synchronous grace periods") for more information on
> the regression and the fix to RCU.
>
> The following changes since commit a121103c922847ba5010819a3f250f1f7fc84ab8:
>
> Linux 4.10-rc3 (2017-01-08 14:18:17 -0800)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/urgent
>
> for you to fetch changes up to 52d7e48b86fc108e45a656d8e53e4237993c481d:
>
> rcu: Narrow early boot window of illegal synchronous grace periods (2017-01-14 21:23:48 -0800)
>
> ----------------------------------------------------------------
> Paul E. McKenney (2):
> rcu: Remove cond_resched() from Tiny synchronize_sched()
> rcu: Narrow early boot window of illegal synchronous grace periods
>
> include/linux/rcupdate.h | 4 ++++
> kernel/rcu/rcu.h | 1 +
> kernel/rcu/tiny.c | 4 ----
> kernel/rcu/tiny_plugin.h | 9 +++++++--
> kernel/rcu/tree.c | 33 ++++++++++++++++++------------
> kernel/rcu/tree_exp.h | 52 ++++++++++++++++++++++++++++++++++++++----------
> kernel/rcu/tree_plugin.h | 2 +-
> kernel/rcu/update.c | 38 +++++++++++++++++++++++++++--------
> 8 files changed, 104 insertions(+), 39 deletions(-)
Pulled into tip:rcu/urgent, thanks a lot Paul! I'll get this to Linus ASAP.
Ingo
prev parent reply other threads:[~2017-01-16 6:51 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-15 20:30 [GIT RFC PULL rcu/urgent] Make RCU synchronous grace periods work throughout boot Paul E. McKenney
2017-01-16 6:51 ` Ingo Molnar [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=20170116065124.GA27645@gmail.com \
--to=mingo@kernel.org \
--cc=bp@alien8.de \
--cc=bpesavento@infinito.it \
--cc=emanuel.castelo@gmail.com \
--cc=fredbezies@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lv.zheng@intel.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=rjw@rjwysocki.net \
--cc=stan.kain@gmail.com \
--cc=torvalds@linux-foundation.org \
--cc=waffolz@hotmail.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