Makefile | 2
arch/i386/kernel/irq.c | 18 +++
arch/i386/kernel/process.c | 39 +++++++-
arch/i386/kernel/smp.c | 18 +++
arch/i386/kernel/smpboot.c | 66 ++++++++++++--
fs/buffer.c | 16 +++
include/asm-generic/topology.h | 3
include/asm-i386/smp.h | 4
include/linux/brlock.h | 1
include/linux/mmzone.h | 1
include/linux/sched.h | 3
include/linux/smp.h | 24 +----
kernel/Makefile | 3
kernel/cpu.c | 193 ++++++++++++++++++++++++++++++++++++++++-
kernel/rcupdate.c | 67 ++++++++++++++
kernel/sched.c | 190 ++++++++++++++++++++++++++++++++--------
kernel/softirq.c | 70 +++++++++++++-
kernel/timer.c | 39 ++++++++
kernel/workqueue.c | 137 +++++++++++++++++++++--------
mm/slab.c | 39 ++++++++
mm/vmscan.c | 44 +++++++++
net/core/dev.c | 64 +++++++++++++
22 files changed, 925 insertions(+), 116 deletions(-)
CPU Hotplug 2.5.61
changes from current cpu hotplug tree:
- fixed build for UP w/ CONFIG_HOTPLUG - Stephen Hemminger
kernel/rcupdate.c
- added RCU CPU_OFFLINE handling which moves all current and pending callbacks from the dying
cpu to a global queue, which is cleared a callback at a time in the rcu_softirq path.
function(s) added:
rcu_move_batch
kernel/timer.c
- We now migrate timers from the dying cpu to the current one.
function(s) added:
migrate_timers_from
mm/slab.c
- Made timer deletion happen on the OFFLINE path and be carried out by the owning cpu
arch/i386/kernel/smpboot.c
- Removed dying cpu from irq_affinity masks in __cpu_die
arch/i386/kernel/irq.c
- Added helper to remove dying cpu from irq affinity masks, this is really a generic function
and could be placed elsewhere given when we get a generic irq layer.
function(s) added:
migrate_irqs_from
All changes have been tested on 4 and 8way i386 (Courtesy of OSDL), although i'm not
claiming stability at this stage (this is a review patch) we have managed
to offline/online whilst doing a kernel compile (make -j8), however there
are problems with the networking offline code which trigger when
offlining cpus under load.
Problematic config options:
CONFIG_PREEMPT - causes premature scheduling
Zwane
--
function.linuxpower.ca