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 /include/linux | |
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 'include/linux')
-rw-r--r-- | include/linux/kvm_host.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index 2714068ee8bc..ea4764b0a2f4 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h | |||
@@ -35,6 +35,7 @@ | |||
35 | * vcpu->requests bit members | 35 | * vcpu->requests bit members |
36 | */ | 36 | */ |
37 | #define KVM_REQ_TLB_FLUSH 0 | 37 | #define KVM_REQ_TLB_FLUSH 0 |
38 | #define KVM_REQ_MIGRATE_TIMER 1 | ||
38 | #define KVM_REQ_REPORT_TPR_ACCESS 2 | 39 | #define KVM_REQ_REPORT_TPR_ACCESS 2 |
39 | 40 | ||
40 | struct kvm_vcpu; | 41 | struct kvm_vcpu; |
@@ -277,6 +278,11 @@ static inline gpa_t gfn_to_gpa(gfn_t gfn) | |||
277 | return (gpa_t)gfn << PAGE_SHIFT; | 278 | return (gpa_t)gfn << PAGE_SHIFT; |
278 | } | 279 | } |
279 | 280 | ||
281 | static inline void kvm_migrate_apic_timer(struct kvm_vcpu *vcpu) | ||
282 | { | ||
283 | set_bit(KVM_REQ_MIGRATE_TIMER, &vcpu->requests); | ||
284 | } | ||
285 | |||
280 | enum kvm_stat_kind { | 286 | enum kvm_stat_kind { |
281 | KVM_STAT_VM, | 287 | KVM_STAT_VM, |
282 | KVM_STAT_VCPU, | 288 | KVM_STAT_VCPU, |