|
@@ -364,6 +364,9 @@ void __cpuinit xen_init_lock_cpu(int cpu)
|
|
|
int irq;
|
|
|
const char *name;
|
|
|
|
|
|
+ WARN(per_cpu(lock_kicker_irq, cpu) > 0, "spinlock on CPU%d exists on IRQ%d!\n",
|
|
|
+ cpu, per_cpu(lock_kicker_irq, cpu));
|
|
|
+
|
|
|
name = kasprintf(GFP_KERNEL, "spinlock%d", cpu);
|
|
|
irq = bind_ipi_to_irqhandler(XEN_SPIN_UNLOCK_VECTOR,
|
|
|
cpu,
|
|
@@ -383,6 +386,7 @@ void __cpuinit xen_init_lock_cpu(int cpu)
|
|
|
void xen_uninit_lock_cpu(int cpu)
|
|
|
{
|
|
|
unbind_from_irqhandler(per_cpu(lock_kicker_irq, cpu), NULL);
|
|
|
+ per_cpu(lock_kicker_irq, cpu) = -1;
|
|
|
}
|
|
|
|
|
|
void __init xen_init_spinlocks(void)
|