summaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorJens Freimann <jfrei@linux.vnet.ibm.com>2014-02-24 10:11:41 +0100
committerChristian Borntraeger <borntraeger@de.ibm.com>2014-03-04 10:41:02 +0100
commitff520a6327e83ef55515d1be3d0a1b10c084f59c (patch)
treed47cb7f5dc7cad419a99b98f70a5ac7b5a0aac8d /arch/s390
parentafa45ff521130cee79a50b565693388be8c8c9c2 (diff)
downloadlinux-ff520a6327e83ef55515d1be3d0a1b10c084f59c.tar.gz
linux-ff520a6327e83ef55515d1be3d0a1b10c084f59c.tar.bz2
linux-ff520a6327e83ef55515d1be3d0a1b10c084f59c.zip
KVM: s390: Simplify online vcpus counting for stsi
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>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/kvm/priv.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/s390/kvm/priv.c b/arch/s390/kvm/priv.c
index 75beea632a10..ae9e8ee21557 100644
--- a/arch/s390/kvm/priv.c
+++ b/arch/s390/kvm/priv.c
@@ -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))