diff options
author | Avi Kivity <avi@redhat.com> | 2010-05-03 09:54:48 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2010-08-01 03:35:37 -0400 |
commit | d94e1dc9af60e3431a586c3edfbe42d8a0d3932b (patch) | |
tree | c9ae8e5e69241d51898ab657d0ff48004b5bd4dc /include/linux/kvm_host.h | |
parent | 54b8486f469475d6c8e8aec917b91239a54eb8c8 (diff) |
KVM: Get rid of KVM_REQ_KICK
KVM_REQ_KICK poisons vcpu->requests by having a bit set during normal
operation. This causes the fast path check for a clear vcpu->requests
to fail all the time, triggering tons of atomic operations.
Fix by replacing KVM_REQ_KICK with a vcpu->guest_mode atomic.
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'include/linux/kvm_host.h')
-rw-r--r-- | include/linux/kvm_host.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index a0e019769f5d..2c62319727ef 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h | |||
@@ -81,6 +81,7 @@ struct kvm_vcpu { | |||
81 | int vcpu_id; | 81 | int vcpu_id; |
82 | struct mutex mutex; | 82 | struct mutex mutex; |
83 | int cpu; | 83 | int cpu; |
84 | atomic_t guest_mode; | ||
84 | struct kvm_run *run; | 85 | struct kvm_run *run; |
85 | unsigned long requests; | 86 | unsigned long requests; |
86 | unsigned long guest_debug; | 87 | unsigned long guest_debug; |