Re: [PATCH v8 1/2] s390x: KVM: guest support for topology function

Heiko Carstens
2022-04-20T18:25:33Z

On Wed, Apr 20, 2022 at 03:22:41PM +0200, Claudio Imbrenda wrote:
> On Wed, 20 Apr 2022 14:05:00 +0200
> Heiko Carstens <hca@linux.ibm.com> wrote:
>
> > > +static inline bool kvm_s390_topology_changed(struct kvm_vcpu *vcpu)
> > > +{
> > > + if (!test_kvm_facility(vcpu->kvm, 11))
> > > + return false;
> > > +
> > > + /* A new vCPU has been hotplugged */
> > > + if (vcpu->arch.prev_cpu == S390_KVM_TOPOLOGY_NEW_CPU)
> > > + return true;
> > > +
> > > + /* The real CPU backing up the vCPU moved to another socket */
> > > + if (cpumask_test_cpu(vcpu->cpu,
> > > + topology_core_cpumask(vcpu->arch.prev_cpu)))
> > > + return true;
> > > +
> > > + return false;
> > > +}
> >
> > This seems to be wrong. I'd guess that you need
> >
> > if (cpumask_test_cpu(vcpu->cpu,
> > topology_core_cpumask(vcpu->arch.prev_cpu)))
> > --> return false;
> > --> return true;
>
> so if the CPU moved to a different socket, it's not a change?
> and if nothing happened, it is a change?

How do you translate the above code to your statement?