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
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
Since it's 60k long, mime attached bzip2.
Rusty Russell & Anton Blanchard
This archive was generated by hypermail 2b29 : Wed Feb 07 2001 - 21:00:20 EST