[GIT PULL rcu/urgent] Prevent RCU callbacks from executing duringearly boot

From: Paul E. McKenney
Date: Wed Jul 13 2011 - 11:47:05 EST


Hello, Ingo,

This pull request is an update from https://lkml.org/lkml/2011/7/11/248.
It fixes a rare but real boot-time hang that is caused by RCU callbacks
being registered during early boot whose callback functions depend on
the scheduler being fully initialized. This commit therefore defers
callback invocation until after the scheduler has spawned the first task.
In contrast, the earlier patch deferred only until the scheduler was
ready to spawn the first task, in particular, before the init task had
first entered schedule(). The former pull request fixed Ravi's hang,
but not Julie's. This pull request addresses both hangs.

There was another hang from Konrad, but this hang turned out to be
unrelated. Konrad's hang has been solved: It was fixed by a patch from
Peter (https://lkml.org/lkml/2011/7/12/150).

I have Tested-by responses from all three (Julie, Ravi, and Konrad).

This commit is available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu.git rcu/urgent

I believe that this commit (and Peter's patch, for that matter) should
be included in v3.0.

Thanx, Paul

------------------->
Paul E. McKenney (1):
rcu: Prevent RCU callbacks from executing before scheduler initialized

kernel/rcutree.c | 26 +++++++++++++++++++++++++-
kernel/rcutree_plugin.h | 15 +++++++++++----
2 files changed, 36 insertions(+), 5 deletions(-)
--
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/