KVM: s390: Simplify online vcpus counting for stsi
authorJens Freimann <jfrei@linux.vnet.ibm.com>
Mon, 24 Feb 2014 09:11:41 +0000 (10:11 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Tue, 4 Mar 2014 09:41:02 +0000 (10:41 +0100)
We don't need to loop over all cpus to get the number of
vcpus. Let's use the available counter online_vcpus instead.

Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
arch/s390/kvm/priv.c

index 75beea632a10ee7c1bba185d344831e11ec684c5..ae9e8ee2155705051e42043cce43e18386acafcb 100644 (file)
@@ -396,15 +396,10 @@ static int handle_stidp(struct kvm_vcpu *vcpu)
 
 static void handle_stsi_3_2_2(struct kvm_vcpu *vcpu, struct sysinfo_3_2_2 *mem)
 {
-       struct kvm_s390_float_interrupt *fi = &vcpu->kvm->arch.float_int;
        int cpus = 0;
        int n;
 
-       spin_lock(&fi->lock);
-       for (n = 0; n < KVM_MAX_VCPUS; n++)
-               if (fi->local_int[n])
-                       cpus++;
-       spin_unlock(&fi->lock);
+       cpus = atomic_read(&vcpu->kvm->online_vcpus);
 
        /* deal with other level 3 hypervisors */
        if (stsi(mem, 3, 2, 2))