Messages in this thread Patch in this message |  | | Date | Fri, 30 Jul 2010 14:57:38 -0700 | | From | Suresh Siddha <> | | Subject | [patch 2/2] x86, smp: use workqueues unconditionally during do_boot_cpu() |
| |
Workqueues are now initialized as part of the early_initcall(). So they are available for use during cold boot process aswell.
And also ACPI hotplug notifier no longer calls do_boot_cpu() in the keventd_wq context. So we can unconditionally use workqueues in do_boot_cpu()
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Zhang Rui <rui.zhang@intel.com> --- arch/x86/kernel/smpboot.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)
Index: tip/arch/x86/kernel/smpboot.c =================================================================== --- tip.orig/arch/x86/kernel/smpboot.c +++ tip/arch/x86/kernel/smpboot.c @@ -735,12 +735,8 @@ static int __cpuinit do_boot_cpu(int api goto do_rest; } - if (!keventd_up() || current_is_keventd()) - c_idle.work.func(&c_idle.work); - else { - schedule_work(&c_idle.work); - wait_for_completion(&c_idle.done); - } + schedule_work(&c_idle.work); + wait_for_completion(&c_idle.done); if (IS_ERR(c_idle.idle)) { printk("failed fork for CPU %d\n", cpu);
|  |