[Linux-ia64] CPU hotplug boot change for IA64

From: Kimio Suganuma <k-suganuma_at_mvj.biglobe.ne.jp>
Date: 2002-08-03 07:22:40
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.


Kimio Suganuma <k-suganuma@mvj.biglobe.ne.jp>

Received on Fri Aug 02 14:23:52 2002

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:09 EST