aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/xen/spinlock.c
diff options
context:
space:
mode:
authorAlex Nixon <alex.nixon@citrix.com>2008-08-22 06:52:15 -0400
committerIngo Molnar <mingo@elte.hu>2008-08-25 05:25:14 -0400
commitd68d82afd4c88e25763b23cd9cd4974573a3706f (patch)
tree42a3fb93a5cef70db7ad01fda1ed0dc68dbe6110 /arch/x86/xen/spinlock.c
parent8227dce7dc2cfdcc28ee0eadfb482a7ee77fba03 (diff)
xen: implement CPU hotplugging
Note the changes from 2.6.18-xen CPU hotplugging: A vcpu_down request from the remote admin via Xenbus both hotunplugs the CPU, and disables it by removing it from the cpu_present map, and removing its entry in /sys. A vcpu_up request from the remote admin only re-enables the CPU, and does not immediately bring the CPU up. A udev event is emitted, which can be caught by the user if he wishes to automatically re-up CPUs when available, or implement a more complex policy. Signed-off-by: Alex Nixon <alex.nixon@citrix.com> Acked-by: Jeremy Fitzhardinge <jeremy@goop.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/xen/spinlock.c')
-rw-r--r--arch/x86/xen/spinlock.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index d072823bc06d..dd71e3a021cd 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -357,6 +357,11 @@ void __cpuinit xen_init_lock_cpu(int cpu)
357 printk("cpu %d spinlock event irq %d\n", cpu, irq); 357 printk("cpu %d spinlock event irq %d\n", cpu, irq);
358} 358}
359 359
360void xen_uninit_lock_cpu(int cpu)
361{
362 unbind_from_irqhandler(per_cpu(lock_kicker_irq, cpu), NULL);
363}
364
360void __init xen_init_spinlocks(void) 365void __init xen_init_spinlocks(void)
361{ 366{
362 pv_lock_ops.spin_is_locked = xen_spin_is_locked; 367 pv_lock_ops.spin_is_locked = xen_spin_is_locked;