Hi all,

I did the infrastructure, Anton did the bugfinding and PPC support,
aka. the hard stuff.  Other architectures need to implement
__cpu_disable, __cpu_die and __cpu_up for them to work.  Volunteers
appreciated.

        This patch allows you to down & up CPUs as follows:
        # echo 0 > /proc/sys/cpu/0/online
        # echo 1 > /proc/sys/cpu/0/online

The relatively trivial patch works as follows:

1) Implements synchronize_kernel() (thanks Andi Kleen for forwarding
   Paul McKenney's quiescent-state ideas) which waits for a schedule
   on all CPUs.
2) All CPU numbers are now physical: removes cpu_number_map,
   cpu_logical_map and smp_num_cpus.
3) Adds cpu_online(cpu) and cpu_num_online() macros.
4) Adds cpu_down() and cpu_up() calls, which call arch-specific
   __cpu_disable(cpu), __cpu_die(cpu) and __cpu_up(cpu).
5) Fixes schedule() to check allowed_cpus even if rescheduling same
   task.

Since it's 60k long, mime attached bzip2.

Go hack!
Rusty Russell & Anton Blanchard
--

hotswap CPU patch

Reply via email to