* [PATCH] ppc64 gives up too quickly on hotplugged cpu
@ 2004-06-02 22:57 Nathan Lynch
2004-06-10 12:03 ` Pavel Machek
0 siblings, 1 reply; 2+ messages in thread
From: Nathan Lynch @ 2004-06-02 22:57 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, Anton Blanchard
[-- Attachment #1: Type: text/plain, Size: 486 bytes --]
Hi-
On some systems it can take a hotplugged cpu much longer to come up than
it would at boot. If the cpu comes up after we've given up on it, it
tends to die in its first attempt to kmem_cache_alloc (uninitialized
percpu data, I imagine).
In my experimentation I haven't seen a processor take more than one
second to become available; the patch waits five seconds just to be safe.
Patch is against 2.6.7-rc2; please apply.
Signed-off-by: Nathan Lynch <nathanl@austin.ibm.com>
[-- Attachment #2: ppc64_cpu_up_be_more_patient.patch --]
[-- Type: text/x-patch, Size: 910 bytes --]
diff -Naurp -X ../dontdiff 2.6.7-rc2/arch/ppc64/kernel/smp.c 2.6.7-rc2.new/arch/ppc64/kernel/smp.c
--- 2.6.7-rc2/arch/ppc64/kernel/smp.c 2004-06-02 17:08:48.000000000 -0500
+++ 2.6.7-rc2.new/arch/ppc64/kernel/smp.c 2004-06-02 17:12:16.000000000 -0500
@@ -912,8 +912,20 @@ int __devinit __cpu_up(unsigned int cpu)
* use this value that I found through experimentation.
* -- Cort
*/
- for (c = 5000; c && !cpu_callin_map[cpu]; c--)
- udelay(100);
+ if (system_state == SYSTEM_BOOTING)
+ for (c = 5000; c && !cpu_callin_map[cpu]; c--)
+ udelay(100);
+#ifdef CONFIG_HOTPLUG_CPU
+ else
+ /*
+ * CPUs can take much longer to come up in the
+ * hotplug case. Wait five seconds.
+ */
+ for (c = 25; c && !cpu_callin_map[cpu]; c--) {
+ set_current_state(TASK_UNINTERRUPTIBLE);
+ schedule_timeout(HZ/5);
+ }
+#endif
if (!cpu_callin_map[cpu]) {
printk("Processor %u is stuck.\n", cpu);
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] ppc64 gives up too quickly on hotplugged cpu
2004-06-02 22:57 [PATCH] ppc64 gives up too quickly on hotplugged cpu Nathan Lynch
@ 2004-06-10 12:03 ` Pavel Machek
0 siblings, 0 replies; 2+ messages in thread
From: Pavel Machek @ 2004-06-10 12:03 UTC (permalink / raw)
To: Nathan Lynch; +Cc: Andrew Morton, linux-kernel, Anton Blanchard
Hi!
> On some systems it can take a hotplugged cpu much longer to come up
> than it would at boot. If the cpu comes up after we've given up on
> it, it tends to die in its first attempt to kmem_cache_alloc
> (uninitialized percpu data, I imagine).
Should not CPU check if system given up on it, and go to infinite
loop if it did to prevent data corruption?
Ouch and please inline patches.
--
64 bytes from 195.113.31.123: icmp_seq=28 ttl=51 time=448769.1 ms
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-06-10 19:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-02 22:57 [PATCH] ppc64 gives up too quickly on hotplugged cpu Nathan Lynch
2004-06-10 12:03 ` Pavel Machek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox