Skip to contentSkip to conversation

CPU hotplug boot change for IA64

Linux-ia64 Kimio Suganuma 1 participant 1 message Aug 2, 2002

lore
Share & tools
lore
#0 lore raw

Hi David, Rusty,

I attached a CPU hotplug boot change patch for IA-64 against 2.5.29 + David's IA64 patch. Please include this in the next release.

I've just tested it on a 2way Bigsur but it should work on the other systems.

In this patch, I added initial value of cpu_online_map as following,

/* Bitmask of currently online CPUs */
-volatile unsigned long cpu_online_map;
+volatile unsigned long cpu_online_map = 1;
unsigned long phys_cpu_present_map;

Bit for CPU#0 on cpu_online_map was set at smp_boot_cpus() before. But on the 2.5.29, place of calling smp_boot_cpus() is changed to later timing and this seems to make a chance that smp_call_function() is called before setting cpu_online_map, (I guess.)
In that case, smp_call_function won't return because num_online_cpus() returns 0 and the system will hang.

I have an experience of this problem only on a large system like Tiger, but it may occur on another system.

Rusty, I guess this modification should be needed for i386, too.

I'd appreciate any comment.

Thanks,
Kimi

Signature · 1 line
Kimio Suganuma <[email protected]>