]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - arch/x86/xen/spinlock.c
x86/paravirt: Optimize native pv_lock_ops.vcpu_is_preempted()
[linux.git] / arch / x86 / xen / spinlock.c
index 74756bbd28c4d2b51fa8c759a2966a3ca61526ce..e8a9ea7d7a211f5f98f9563de6dc13085185b852 100644 (file)
@@ -114,6 +114,8 @@ void xen_uninit_lock_cpu(int cpu)
        per_cpu(irq_name, cpu) = NULL;
 }
 
+PV_CALLEE_SAVE_REGS_THUNK(xen_vcpu_stolen);
+
 /*
  * Our init of PV spinlocks is split in two init functions due to us
  * using paravirt patching and jump labels patching and having to do
@@ -136,8 +138,7 @@ void __init xen_init_spinlocks(void)
        pv_lock_ops.queued_spin_unlock = PV_CALLEE_SAVE(__pv_queued_spin_unlock);
        pv_lock_ops.wait = xen_qlock_wait;
        pv_lock_ops.kick = xen_qlock_kick;
-
-       pv_lock_ops.vcpu_is_preempted = xen_vcpu_stolen;
+       pv_lock_ops.vcpu_is_preempted = PV_CALLEE_SAVE(xen_vcpu_stolen);
 }
 
 /*