Merge branch 'rcu/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck...
authorIngo Molnar <mingo@kernel.org>
Mon, 16 Jan 2017 06:45:44 +0000 (07:45 +0100)
committerIngo Molnar <mingo@kernel.org>
Mon, 16 Jan 2017 06:45:44 +0000 (07:45 +0100)
commit3e4f7a4956e54143f7fc15c636158ad4166d219d
treec286358c42c47328a12f523878e8cc9fa022f9f9
parentf4d3935e4f4884ba80561db5549394afb8eef8f7
parent52d7e48b86fc108e45a656d8e53e4237993c481d
Merge branch 'rcu/urgent' of git://git./linux/kernel/git/paulmck/linux-rcu into rcu/urgent

Pull an urgent RCU fix from Paul E. McKenney:

 "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."

Signed-off-by: Ingo Molnar <mingo@kernel.org>