aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/lapic.c
diff options
context:
space:
mode:
authorAvi Kivity <avi@qumranet.com>2008-01-16 05:49:30 -0500
committerAvi Kivity <avi@qumranet.com>2008-01-30 11:01:22 -0500
commit2f52d58c92d971bf421f461ad06eb93fb4f34981 (patch)
tree59e4bf7960686689606be7136f28ebfe32e7fb2d /arch/x86/kvm/lapic.c
parenta03d7f4b544f699bbdd3cf14692bd8f476cb9d24 (diff)
KVM: Move apic timer migration away from critical section
Migrating the apic timer in the critical section is not very nice, and is absolutely horrible with the real-time port. Move migration to the regular vcpu execution path, triggered by a new bitflag. Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'arch/x86/kvm/lapic.c')
-rw-r--r--arch/x86/kvm/lapic.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index e7513bb98af1..2cbee9479ce4 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -1092,7 +1092,7 @@ void kvm_apic_post_state_restore(struct kvm_vcpu *vcpu)
1092 start_apic_timer(apic); 1092 start_apic_timer(apic);
1093} 1093}
1094 1094
1095void kvm_migrate_apic_timer(struct kvm_vcpu *vcpu) 1095void __kvm_migrate_apic_timer(struct kvm_vcpu *vcpu)
1096{ 1096{
1097 struct kvm_lapic *apic = vcpu->arch.apic; 1097 struct kvm_lapic *apic = vcpu->arch.apic;
1098 struct hrtimer *timer; 1098 struct hrtimer *timer;
@@ -1104,7 +1104,6 @@ void kvm_migrate_apic_timer(struct kvm_vcpu *vcpu)
1104 if (hrtimer_cancel(timer)) 1104 if (hrtimer_cancel(timer))
1105 hrtimer_start(timer, timer->expires, HRTIMER_MODE_ABS); 1105 hrtimer_start(timer, timer->expires, HRTIMER_MODE_ABS);
1106} 1106}
1107EXPORT_SYMBOL_GPL(kvm_migrate_apic_timer);
1108 1107
1109void kvm_lapic_sync_from_vapic(struct kvm_vcpu *vcpu) 1108void kvm_lapic_sync_from_vapic(struct kvm_vcpu *vcpu)
1110{ 1109{