diff options
author | Xiantao Zhang <xiantao.zhang@intel.com> | 2008-10-23 03:03:38 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2008-12-31 09:51:49 -0500 |
commit | 853dafb62b386a3a75808483a120998e734eb6e1 (patch) | |
tree | b18153869727ba2f81ac35726025af197d0a8f00 | |
parent | a917f7af3905953329361d29b6db78eb17b4d44c (diff) |
KVM: ia64: Remove lock held by halted vcpu
Remove the lock protection for kvm halt logic, otherwise,
once other vcpus want to acquire the lock, and they have to
wait all vcpus are waken up from halt.
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r-- | arch/ia64/kvm/kvm-ia64.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c index 43e45f6afcda..70eb829767f4 100644 --- a/arch/ia64/kvm/kvm-ia64.c +++ b/arch/ia64/kvm/kvm-ia64.c | |||
@@ -439,7 +439,6 @@ int kvm_emulate_halt(struct kvm_vcpu *vcpu) | |||
439 | expires = div64_u64(itc_diff, cyc_per_usec); | 439 | expires = div64_u64(itc_diff, cyc_per_usec); |
440 | kt = ktime_set(0, 1000 * expires); | 440 | kt = ktime_set(0, 1000 * expires); |
441 | 441 | ||
442 | down_read(&vcpu->kvm->slots_lock); | ||
443 | vcpu->arch.ht_active = 1; | 442 | vcpu->arch.ht_active = 1; |
444 | hrtimer_start(p_ht, kt, HRTIMER_MODE_ABS); | 443 | hrtimer_start(p_ht, kt, HRTIMER_MODE_ABS); |
445 | 444 | ||
@@ -452,7 +451,6 @@ int kvm_emulate_halt(struct kvm_vcpu *vcpu) | |||
452 | if (vcpu->arch.mp_state == KVM_MP_STATE_HALTED) | 451 | if (vcpu->arch.mp_state == KVM_MP_STATE_HALTED) |
453 | vcpu->arch.mp_state = | 452 | vcpu->arch.mp_state = |
454 | KVM_MP_STATE_RUNNABLE; | 453 | KVM_MP_STATE_RUNNABLE; |
455 | up_read(&vcpu->kvm->slots_lock); | ||
456 | 454 | ||
457 | if (vcpu->arch.mp_state != KVM_MP_STATE_RUNNABLE) | 455 | if (vcpu->arch.mp_state != KVM_MP_STATE_RUNNABLE) |
458 | return -EINTR; | 456 | return -EINTR; |