Re: [PULL] module, param and stop_machine patches

From: Linus Torvalds
Date: Sat Oct 25 2008 - 17:19:19 EST




On Wed, 22 Oct 2008, Rusty Russell wrote:
>
> Heiko Carstens (4):
> Call init_workqueues before pre smp initcalls.

This one actually causes a regression for me on one of my machines.

Don't ask me why, but it's very repeatable, and it goes away when that
commit is reverted. See the appended commit that I have queued up (but not
yet pushed out) in my tree for details..

Linus
---
From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Sat, 25 Oct 2008 14:04:40 -0700
Subject: [PATCH] Revert "Call init_workqueues before pre smp initcalls."

This reverts commit a802dd0eb5fc97a50cf1abb1f788a8f6cc5db635, which
causes an odd bootup failure on one of my machines. The boot hangs
after printing out

Found volume group "VolGroup00" using metadata type lvm2

where the next message (that never prints out) should be

2 logical volume(s) in Volume Group"VolGroup00" now active.

Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

diff --git a/init/main.c b/init/main.c
index 130d1a0..70e4eed 100644
--- a/init/main.c
+++ b/init/main.c
@@ -768,6 +768,8 @@ static void __init do_initcalls(void)
static void __init do_basic_setup(void)
{
rcu_init_sched(); /* needed by module_init stage. */
+ /* drivers will send hotplug events */
+ init_workqueues();
usermodehelper_init();
driver_init();
init_irq_proc();
@@ -851,8 +853,6 @@ static int __init kernel_init(void * unused)

cad_pid = task_pid(current);

- init_workqueues();
-
smp_prepare_cpus(setup_max_cpus);

do_pre_smp_initcalls();
--
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/