[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <c12a4ef0-5b20-a81a-26bd-7d29c59ece8d@redhat.com>
Date: Wed, 22 Sep 2021 09:41:12 +0200
From: Paolo Bonzini <pbonzini@...hat.com>
To: Sean Christopherson <seanjc@...gle.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>
Cc: Wanpeng Li <wanpengli@...cent.com>,
Jim Mattson <jmattson@...gle.com>,
Joerg Roedel <joro@...tes.org>, kvm@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] KVM: x86: Identify vCPU0 by its vcpu_idx instead of
walking vCPUs array
On 20/09/21 16:57, Sean Christopherson wrote:
> On Mon, Sep 13, 2021, Vitaly Kuznetsov wrote:
>> Sean Christopherson <seanjc@...gle.com> writes:
>>
>>> Use vcpu_idx to identify vCPU0 when updating HyperV's TSC page, which is
>>> shared by all vCPUs and "owned" by vCPU0 (because vCPU0 is the only vCPU
>>> that's guaranteed to exist). Using kvm_get_vcpu() to find vCPU works,
>>> but it's a rather odd and suboptimal method to check the index of a given
>>> vCPU.
>>>
>>> No functional change intended.
>>>
>>> Signed-off-by: Sean Christopherson <seanjc@...gle.com>
>>> ---
>>> arch/x86/kvm/x86.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
>>> index 86539c1686fa..6ab851df08d1 100644
>>> --- a/arch/x86/kvm/x86.c
>>> +++ b/arch/x86/kvm/x86.c
>>> @@ -2969,7 +2969,7 @@ static int kvm_guest_time_update(struct kvm_vcpu *v)
>>> offsetof(struct compat_vcpu_info, time));
>>> if (vcpu->xen.vcpu_time_info_set)
>>> kvm_setup_pvclock_page(v, &vcpu->xen.vcpu_time_info_cache, 0);
>>> - if (v == kvm_get_vcpu(v->kvm, 0))
>>> + if (!v->vcpu_idx)
>>> kvm_hv_setup_tsc_page(v->kvm, &vcpu->hv_clock);
>>> return 0;
>>> }
>>
>> " ... instead of walking vCPUs array" in the Subject line is a bit
>> confusing because kvm_get_vcpu() doesn't actually walk anything, it just
>> returns 'kvm->vcpus[i]' after checking that we actually have that many
>> vCPUs. The patch itself is OK, so
>
> Argh, yes, I have a feeling I wrote the changelog after digging into the history
> of kvm_get_vcpu().
>
> Paolo, can you tweak the shortlog to:
>
> KVM: x86: Identify vCPU0 by its vcpu_idx instead of its vCPUs array entry
>
Done and queued. Patch 1 required some further s390 changes.
Paolo
Powered by blists - more mailing lists