Messages in this thread | | | Date | Wed, 13 Jul 2011 08:46:38 -0700 | From | "Paul E. McKenney" <> | Subject | [GIT PULL rcu/urgent] Prevent RCU callbacks from executing during early boot |
| |
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(-)
| |