Hotplug CPU Boot Changes: BEWARE

From: Rusty Russell (rusty@rustcorp.com.au)
Date: Fri Jun 07 2002 - 05:40:36 EST


Hi all (esp port maintainers),

        In writing the hotplug CPU stuff, Linus asked me to alter the
boot sequence to "plug in" CPUs. I am shortly going to be sending
these patches to him now I have got my x86 box to boot with the
changes.

The changes are as follows:
1) Non-linear CPU support. No more number/logical map, or
   smp_num_cpus. This is easy to change over to.

2) The boot sequence used to be:
        smp_boot_cpus()
        smp_commence()
        start idle thread, do initfuncs...

   Now it is:
        start idle thread
        smp_prepare_cpus(int max_cpus)
                => Probes for cpus, sets up cpu_possible() macro to work.
        do initfuncs
        For each cpu for which cpu_possible(cpu) is true:
                cpu_up(int cpunum)
        smp_cpus_done(max_cpus);

There are two ways to transition: one is to do the minimal hacks so
that the new boot code works (as per my x86 patch). The other is to
take into account that the next stage (optional by arch) is to
actually bring cpus up and down on the fly, and hence actually write
code that will work after boot as well (as per my ppc patch).

For the patches, see:
        http://www.kernel.org/pub/linux/kernel/people/rusty

Rusty.

--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Jun 07 2002 - 22:00:30 EST