Re: [GIT PULL rcu/urgent-for-mingo] Regression fixes

From: Ingo Molnar
Date: Thu Oct 30 2014 - 02:39:36 EST



* Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/