[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <05f08046-9c18-bbef-f502-47733000e9ff@huawei.com>
Date: Tue, 16 Mar 2021 12:20:16 +0800
From: Keqian Zhu <zhukeqian1@...wei.com>
To: Gavin Shan <gshan@...hat.com>, <kvmarm@...ts.cs.columbia.edu>
CC: <maz@...nel.org>, <will@...nel.org>,
<linux-kernel@...r.kernel.org>, <shan.gavin@...il.com>
Subject: Re: [PATCH 2/4] KVM: arm64: Use find_vma_intersection()
Hi Gavin,
On 2021/3/16 11:52, Gavin Shan wrote:
> Hi Keqian,
>
> On 3/15/21 8:42 PM, Gavin Shan wrote:
>> On 3/15/21 7:04 PM, Keqian Zhu wrote:
>>> On 2021/3/15 12:18, Gavin Shan wrote:
>>>> find_vma_intersection() has been existing to search the intersected
>>>> vma. This uses the function where it's applicable, to simplify the
>>>> code.
>>>>
>>>> Signed-off-by: Gavin Shan <gshan@...hat.com>
>>>> ---
>>>> arch/arm64/kvm/mmu.c | 10 ++++++----
>>>> 1 file changed, 6 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c
>>>> index 84e70f953de6..286b603ed0d3 100644
>>>> --- a/arch/arm64/kvm/mmu.c
>>>> +++ b/arch/arm64/kvm/mmu.c
>>>> @@ -421,10 +421,11 @@ static void stage2_unmap_memslot(struct kvm *kvm,
>>>> * +--------------------------------------------+
>>>> */
>>>> do {
>>>> - struct vm_area_struct *vma = find_vma(current->mm, hva);
>>>> + struct vm_area_struct *vma;
>>>> hva_t vm_start, vm_end;
>>>> - if (!vma || vma->vm_start >= reg_end)
>>>> + vma = find_vma_intersection(current->mm, hva, reg_end);
>>> Nit: Keep a same style may be better(Assign vma when declare it).
>>> Other looks good to me.
>>>
>>
>> Yeah, I agree. I will adjust the code in v2 and included your r-b.
>> Thanks for your time to review.
>>
>
> After rechecking the code, I think it'd better to keep current style
> because there is a follow-on validation on @vma. Keeping them together
> seems a good idea. I think it wouldn't a big deal to you. So I will
> keep current style with your r-b in v2.
Sure, both is OK. ;-)
Thanks,
Keqian
>
> vma = find_vma_intersection(current->mm, hva, reg_end);
> if (!vma)
> break;
> Thanks,
> Gavin
>
>>>> + if (!vma)
>>>> break;
>>>> /*
>>>> @@ -1330,10 +1331,11 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
>>>> * +--------------------------------------------+
>>>> */
>>>> do {
>>>> - struct vm_area_struct *vma = find_vma(current->mm, hva);
>>>> + struct vm_area_struct *vma;
>>>> hva_t vm_start, vm_end;
>>>> - if (!vma || vma->vm_start >= reg_end)
>>>> + vma = find_vma_intersection(current->mm, hva, reg_end);
>>>> + if (!vma)
>>>> break;
>>>> /*
>>>>
>>>
>>
>
> .
>
Powered by blists - more mailing lists