Re: [PATCH] KVM: x86: don't reset root in kvm_mmu_setup()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On 4 Sep 2018, at 18:24, Wei Yang <richard.weiyang@xxxxxxxxx> wrote:
> 
> On Tue, Sep 04, 2018 at 04:21:40AM -0700, Liran Alon wrote:
>> 
>> ----- richard.weiyang@xxxxxxxxx wrote:
>> 
>>> Here is the code path which shows kvm_mmu_setup() is invoked after
>>> kvm_mmu_create(). Since kvm_mmu_setup() is only invoked in this code
>>> path,
>>> this means the root_hpa and prev_roots are setup properly. And it is
>>> not
>>> necessary to reset it again.
>>> 
>>>    kvm_vm_ioctl_create_vcpu()
>>>        kvm_arch_vcpu_create()
>>>            vmx_create_vcpu()
>>>                kvm_vcpu_init()
>>>                    kvm_arch_vcpu_init()
>>>                        kvm_mmu_create()
>>>        kvm_arch_vcpu_setup()
>>>            kvm_mmu_setup()
>>>                kvm_init_mmu()
>>> 
>>> This patch set reset_roots to false in kmv_mmu_setup().
>>> 
>>> Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx>
>>> ---
>>> arch/x86/kvm/mmu.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>> 
>>> diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
>>> index a282321329b5..28da8a9bd37b 100644
>>> --- a/arch/x86/kvm/mmu.c
>>> +++ b/arch/x86/kvm/mmu.c
>>> @@ -5413,7 +5413,7 @@ void kvm_mmu_setup(struct kvm_vcpu *vcpu)
>>> {
>>> 	MMU_WARN_ON(VALID_PAGE(vcpu->arch.mmu.root_hpa));
>>> 
>>> -	kvm_init_mmu(vcpu, true);
>>> +	kvm_init_mmu(vcpu, false);
>>> }
>>> 
>>> static void kvm_mmu_invalidate_zap_pages_in_memslot(struct kvm *kvm,
>>> -- 
>>> 2.15.1
>> 
>> I would also add a comment in code.
>> Reviewed-by: Liran Alon <liran.alon@xxxxxxxxxx>
> 
> Thanks for your comment.
> 
> Hmm... do you have any suggestion about the comment? Like the changelog?

Nothing fancy, something like:
/*
 * kvm_mmu_setup() is called only on vCPU initialization.
 * Therefore, no need to reset mmu roots as they are not yet initialized.
 */

> 
> -- 
> Wei Yang
> Help you, Help me




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux