lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Mon, 16 Jan 2017 07:51:24 +0100
From:   Ingo Molnar <mingo@...nel.org>
To:     "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc:     linux-kernel@...r.kernel.org, lv.zheng@...el.com, bp@...en8.de,
        rjw@...ysocki.net, stan.kain@...il.com, waffolz@...mail.com,
        emanuel.castelo@...il.com, bpesavento@...inito.it,
        fredbezies@...il.com, torvalds@...ux-foundation.org
Subject: Re: [GIT RFC PULL rcu/urgent] Make RCU synchronous grace periods
 work throughout boot


* Paul E. McKenney <paulmck@...ux.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

Powered by blists - more mailing lists