diff options
author | Avi Kivity <avi@qumranet.com> | 2008-01-16 05:49:30 -0500 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-01-30 11:01:22 -0500 |
commit | 2f52d58c92d971bf421f461ad06eb93fb4f34981 (patch) | |
tree | 59e4bf7960686689606be7136f28ebfe32e7fb2d /arch/x86/kvm/lapic.c | |
parent | a03d7f4b544f699bbdd3cf14692bd8f476cb9d24 (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.c | 3 |
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 | ||
1095 | void kvm_migrate_apic_timer(struct kvm_vcpu *vcpu) | 1095 | void __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 | } |
1107 | EXPORT_SYMBOL_GPL(kvm_migrate_apic_timer); | ||
1108 | 1107 | ||
1109 | void kvm_lapic_sync_from_vapic(struct kvm_vcpu *vcpu) | 1108 | void kvm_lapic_sync_from_vapic(struct kvm_vcpu *vcpu) |
1110 | { | 1109 | { |