RE: [PATCH 0/3] Restore extra_mem_pages and add slot0_mem_pages

From: Duan, Zhenzhong
Date: Wed Jun 09 2021 - 01:19:57 EST




> -----Original Message-----
> From: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> Sent: Wednesday, June 9, 2021 1:30 AM
> To: Duan, Zhenzhong <zhenzhong.duan@xxxxxxxxx>; linux-
> kernel@xxxxxxxxxxxxxxx
> Cc: linux-kselftest@xxxxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx;
> maciej.szmigiero@xxxxxxxxxx; drjones@xxxxxxxxxx; shuah@xxxxxxxxxx
> Subject: Re: [PATCH 0/3] Restore extra_mem_pages and add
> slot0_mem_pages
>
> On 09/06/21 01:38, Zhenzhong Duan wrote:
> > (39fe2fc96694 "selftests: kvm: make allocation of extra memory take
> > effect") changed the meaning of extra_mem_pages and treated it as slot0
> memory size.
> >
> > In fact extra_mem_pages is used for non-slot0 memory size, there is no
> > custom
> > slot0 memory size support. See discuss in
> > https://lkml.org/lkml/2021/6/3/551
> > for more details.
> >
> > This patchset restores extra_mem_pages's original meaning and adds
> > support for custom slot0 memory with a new parameter slot0_mem_pages.
>
> Because the two reverts are so small, I squashed everything in a single patch
> with the following message:
>
> Until commit 39fe2fc96694 ("selftests: kvm: make allocation of extra
> memory take effect", 2021-05-27), parameter extra_mem_pages was used
> only to calculate the page table size for all the memory chunks,
> because real memory allocation happened with calls of
> vm_userspace_mem_region_add() after vm_create_default().
>
> Commit 39fe2fc96694 however changed the meaning of
> extra_mem_pages to
> the size of memory slot 0. This makes the memory allocation more
> flexible, but makes it harder to account for the number of
> pages needed for the page tables. For example, memslot_perf_test
> has a small amount of memory in slot 0 but a lot in other slots,
> and adding that memory twice (both in slot 0 and with later
> calls to vm_userspace_mem_region_add()) causes an error that
> was fixed in commit 000ac4295339 ("selftests: kvm: fix overlapping
> addresses in memslot_perf_test", 2021-05-29)
>
> Since both uses are sensible, add a new parameter slot0_mem_pages
> to vm_create_with_vcpus() and some comments to clarify the meaning of
> slot0_mem_pages and extra_mem_pages. With this change,
> memslot_perf_test can go back to passing the number of memory
> pages as extra_mem_pages.
>

This looks more clear, thanks for doing that.

Regards
Zhenzhong