diff options
author | Michael S. Tsirkin <mst@redhat.com> | 2009-06-29 15:24:21 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2009-09-10 01:33:05 -0400 |
commit | 108b56690f35e083c5559116d6656f59a557a815 (patch) | |
tree | 64e5af9be0b4ebda257ea30ba8955cf0b3c96509 | |
parent | d5c2dcc36aaf4dfdf9e01513493c71d71715f817 (diff) |
KVM: switch pit creation to slots_lock
switch pit creation to slots_lock. slots_lock is already taken for read
everywhere, so we only need to take it for write when creating pit.
This is in preparation to removing in_range and kvm->lock around it.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r-- | arch/x86/kvm/x86.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 0be75d53b7fd..7ce6367c1976 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -2188,7 +2188,7 @@ long kvm_arch_vm_ioctl(struct file *filp, | |||
2188 | sizeof(struct kvm_pit_config))) | 2188 | sizeof(struct kvm_pit_config))) |
2189 | goto out; | 2189 | goto out; |
2190 | create_pit: | 2190 | create_pit: |
2191 | mutex_lock(&kvm->lock); | 2191 | down_write(&kvm->slots_lock); |
2192 | r = -EEXIST; | 2192 | r = -EEXIST; |
2193 | if (kvm->arch.vpit) | 2193 | if (kvm->arch.vpit) |
2194 | goto create_pit_unlock; | 2194 | goto create_pit_unlock; |
@@ -2197,7 +2197,7 @@ long kvm_arch_vm_ioctl(struct file *filp, | |||
2197 | if (kvm->arch.vpit) | 2197 | if (kvm->arch.vpit) |
2198 | r = 0; | 2198 | r = 0; |
2199 | create_pit_unlock: | 2199 | create_pit_unlock: |
2200 | mutex_unlock(&kvm->lock); | 2200 | up_write(&kvm->slots_lock); |
2201 | break; | 2201 | break; |
2202 | case KVM_IRQ_LINE_STATUS: | 2202 | case KVM_IRQ_LINE_STATUS: |
2203 | case KVM_IRQ_LINE: { | 2203 | case KVM_IRQ_LINE: { |