On 4/20/22 20:25, Heiko Carstens wrote:
> On Wed, Apr 20, 2022 at 03:22:41PM +0200, Claudio Imbrenda wrote:
>> On Wed, 20 Apr 2022 14:05:00 +0200
>> Heiko Carstens <[email protected]> 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?
>
Take care that the comment is also wrong.
I will of course change it too.
--
Pierre Morel
IBM Lab Boeblingen