lkml.org 
[lkml]   [2014]   [Oct]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [GIT PULL rcu/urgent-for-mingo] Regression fixes

* Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:

> Hello, Ingo,
>
> This pull request contains a couple of fixes for RCU regressions:
>
> 1. Complete the work of commit dd56af42bd82 (rcu: Eliminate deadlock
> between CPU hotplug and expedited grace periods), which was
> intended to allow synchronize_sched_expedited() to be safely
> used when holding locks acquired by CPU-hotplug notifiers.
> This commit makes the put_online_cpus() avoid the deadlock
> instead of just handling the get_online_cpus().
>
> 2. Complete the work of commit 35ce7f29a44a (rcu: Create rcuo
> kthreads only for onlined CPUs), which was intended to allow
> RCU to avoid allocating unneeded kthreads on systems where the
> firmware says that there are more CPUs than are really present.
> This commit makes rcu_barrier() aware of the mismatch, so that
> it doesn't hang waiting for non-existent CPUs. (And yes, I do
> need to force this non-existent-CPU condition into my testing.)
>
> Both of these changes have been tested by the submitters and have been
> exposed to -next testing. These changes are needed to avoid system hangs,
> and these system hangs have actually occurred during mainline testing.
>
> These changes are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git urgent-for-mingo
>
> for you to fetch changes up to d7e29933969e5ca7c112ce1368a07911f4485dc2:
>
> rcu: Make rcu_barrier() understand about missing rcuo kthreads (2014-10-28 13:24:13 -0700)
>
> ----------------------------------------------------------------
> Paul E. McKenney (2):
> rcu: More on deadlock between CPU hotplug and expedited grace periods
> rcu: Make rcu_barrier() understand about missing rcuo kthreads
>
> include/trace/events/rcu.h | 18 +++++++++---------
> kernel/cpu.c | 14 +++++++++++++-
> kernel/rcu/tree.c | 15 ++++++++++-----
> kernel/rcu/tree.h | 1 +
> kernel/rcu/tree_plugin.h | 33 +++++++++++++++++++++++++++++++++
> 5 files changed, 66 insertions(+), 15 deletions(-)
>

Pulled, thanks a lot Paul!

Ingo


\
 
 \ /
  Last update: 2014-10-30 08:21    [W:0.048 / U:0.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site