mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 07:12:09 +00:00
KVM: s390: get rid of local_int array
We can use kvm_get_vcpu() now and don't need the local_int array in the floating_int struct anymore. This also means we don't have to hold the float_int.lock in some places. Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
This commit is contained in:
parent
13b191ae4a
commit
1ee0bc559d
4 changed files with 56 additions and 80 deletions
|
@ -692,6 +692,7 @@ static int __inject_vm(struct kvm *kvm, struct kvm_s390_interrupt_info *inti)
|
|||
struct kvm_s390_local_interrupt *li;
|
||||
struct kvm_s390_float_interrupt *fi;
|
||||
struct kvm_s390_interrupt_info *iter;
|
||||
struct kvm_vcpu *dst_vcpu = NULL;
|
||||
int sigcpu;
|
||||
int rc = 0;
|
||||
|
||||
|
@ -726,9 +727,10 @@ static int __inject_vm(struct kvm *kvm, struct kvm_s390_interrupt_info *inti)
|
|||
sigcpu = fi->next_rr_cpu++;
|
||||
if (sigcpu == KVM_MAX_VCPUS)
|
||||
sigcpu = fi->next_rr_cpu = 0;
|
||||
} while (fi->local_int[sigcpu] == NULL);
|
||||
} while (kvm_get_vcpu(kvm, sigcpu) == NULL);
|
||||
}
|
||||
li = fi->local_int[sigcpu];
|
||||
dst_vcpu = kvm_get_vcpu(kvm, sigcpu);
|
||||
li = &dst_vcpu->arch.local_int;
|
||||
spin_lock_bh(&li->lock);
|
||||
atomic_set_mask(CPUSTAT_EXT_INT, li->cpuflags);
|
||||
if (waitqueue_active(li->wq))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue