Signed-off-by: Peter Teoh --- kernel/stop_machine.c.orig 2008-03-07 13:20:00.000000000 +0800 +++ kernel/stop_machine.c 2008-03-07 16:45:30.000000000 +0800 @@ -9,6 +9,7 @@ #include #include #include +#include #include #include @@ -92,6 +93,7 @@ static void stopmachine_set_state(enum s static int stop_machine(void) { int i, ret = 0; + struct task_struct *task; atomic_set(&stopmachine_thread_ack, 0); stopmachine_num_threads = 0; @@ -100,7 +102,8 @@ static int stop_machine(void) for_each_online_cpu(i) { if (i == raw_smp_processor_id()) continue; - ret = kernel_thread(stopmachine, (void *)(long)i,CLONE_KERNEL); + task = kthread_create(stopmachine, (void *)(long)i,"stopmachine"); + ret = PTR_ERR(task); if (ret < 0) break; stopmachine_num_threads++;