diff options
author | David Hildenbrand <dahi@linux.vnet.ibm.com> | 2014-05-06 10:11:14 -0400 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2014-07-21 07:22:34 -0400 |
commit | 433b9ee43c233790c0ae7c02785d6d73fd4d4455 (patch) | |
tree | daf80b34725d28a39555e7cacb1aaac6a5b4222e /arch/s390 | |
parent | 4ae3c0815fb63cbed1afcd5bacc7705c6d1b9fec (diff) |
KVM: s390: remove _bh locking from start_stop_lock
The start_stop_lock is no longer acquired when in atomic context, therefore we
can convert it into an ordinary spin_lock.
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/kvm/kvm-s390.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c index a7bda180fe65..b29a03132ecb 100644 --- a/arch/s390/kvm/kvm-s390.c +++ b/arch/s390/kvm/kvm-s390.c | |||
@@ -1478,7 +1478,7 @@ void kvm_s390_vcpu_start(struct kvm_vcpu *vcpu) | |||
1478 | 1478 | ||
1479 | trace_kvm_s390_vcpu_start_stop(vcpu->vcpu_id, 1); | 1479 | trace_kvm_s390_vcpu_start_stop(vcpu->vcpu_id, 1); |
1480 | /* Only one cpu at a time may enter/leave the STOPPED state. */ | 1480 | /* Only one cpu at a time may enter/leave the STOPPED state. */ |
1481 | spin_lock_bh(&vcpu->kvm->arch.start_stop_lock); | 1481 | spin_lock(&vcpu->kvm->arch.start_stop_lock); |
1482 | online_vcpus = atomic_read(&vcpu->kvm->online_vcpus); | 1482 | online_vcpus = atomic_read(&vcpu->kvm->online_vcpus); |
1483 | 1483 | ||
1484 | for (i = 0; i < online_vcpus; i++) { | 1484 | for (i = 0; i < online_vcpus; i++) { |
@@ -1504,7 +1504,7 @@ void kvm_s390_vcpu_start(struct kvm_vcpu *vcpu) | |||
1504 | * Let's play safe and flush the VCPU at startup. | 1504 | * Let's play safe and flush the VCPU at startup. |
1505 | */ | 1505 | */ |
1506 | vcpu->arch.sie_block->ihcpu = 0xffff; | 1506 | vcpu->arch.sie_block->ihcpu = 0xffff; |
1507 | spin_unlock_bh(&vcpu->kvm->arch.start_stop_lock); | 1507 | spin_unlock(&vcpu->kvm->arch.start_stop_lock); |
1508 | return; | 1508 | return; |
1509 | } | 1509 | } |
1510 | 1510 | ||
@@ -1518,7 +1518,7 @@ void kvm_s390_vcpu_stop(struct kvm_vcpu *vcpu) | |||
1518 | 1518 | ||
1519 | trace_kvm_s390_vcpu_start_stop(vcpu->vcpu_id, 0); | 1519 | trace_kvm_s390_vcpu_start_stop(vcpu->vcpu_id, 0); |
1520 | /* Only one cpu at a time may enter/leave the STOPPED state. */ | 1520 | /* Only one cpu at a time may enter/leave the STOPPED state. */ |
1521 | spin_lock_bh(&vcpu->kvm->arch.start_stop_lock); | 1521 | spin_lock(&vcpu->kvm->arch.start_stop_lock); |
1522 | online_vcpus = atomic_read(&vcpu->kvm->online_vcpus); | 1522 | online_vcpus = atomic_read(&vcpu->kvm->online_vcpus); |
1523 | 1523 | ||
1524 | /* Need to lock access to action_bits to avoid a SIGP race condition */ | 1524 | /* Need to lock access to action_bits to avoid a SIGP race condition */ |
@@ -1547,7 +1547,7 @@ void kvm_s390_vcpu_stop(struct kvm_vcpu *vcpu) | |||
1547 | __enable_ibs_on_vcpu(started_vcpu); | 1547 | __enable_ibs_on_vcpu(started_vcpu); |
1548 | } | 1548 | } |
1549 | 1549 | ||
1550 | spin_unlock_bh(&vcpu->kvm->arch.start_stop_lock); | 1550 | spin_unlock(&vcpu->kvm->arch.start_stop_lock); |
1551 | return; | 1551 | return; |
1552 | } | 1552 | } |
1553 | 1553 | ||