> -----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