From: Nishanth Aravamudan <nacc@us.ibm.com>

Replace schedule_timeout() with msleep() to guarantee the task delays as
expected.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 arch/x86_64/kernel/smpboot.c |    3 +--
 1 files changed, 1 insertion(+), 2 deletions(-)

diff -puN arch/x86_64/kernel/smpboot.c~x86_64-use-msleep-in-smpbootc arch/x86_64/kernel/smpboot.c
--- devel/arch/x86_64/kernel/smpboot.c~x86_64-use-msleep-in-smpbootc	2005-07-27 12:36:58.000000000 -0700
+++ devel-akpm/arch/x86_64/kernel/smpboot.c	2005-07-27 12:36:58.000000000 -0700
@@ -1183,8 +1183,7 @@ void __cpu_die(unsigned int cpu)
 			printk ("CPU %d is now offline\n", cpu);
 			return;
 		}
-		current->state = TASK_UNINTERRUPTIBLE;
-		schedule_timeout(HZ/10);
+		msleep(100);
 	}
  	printk(KERN_ERR "CPU %u didn't die...\n", cpu);
 }
_