linux/tools/testing/selftests/kvm
Zhenzhong Duan f53b16ad64 selftests: kvm: Add support for customized slot0 memory size
Until commit 39fe2fc966 ("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 39fe2fc966 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 000ac42953 ("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.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Message-Id: <20210608233816.423958-4-zhenzhong.duan@intel.com>
[Squashed in a single patch and rewrote the commit message. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-06-08 13:29:10 -04:00
..
aarch64 KVM: selftests: vgic_init kvm selftests fixup 2021-04-07 15:50:50 +01:00
include selftests: kvm: Add support for customized slot0 memory size 2021-06-08 13:29:10 -04:00
lib selftests: kvm: Add support for customized slot0 memory size 2021-06-08 13:29:10 -04:00
s390x KVM: selftests: sync_regs test for diag318 2020-12-10 13:36:05 +01:00
x86_64 KVM: selftests: Print a message if /dev/kvm is missing 2021-05-27 07:45:55 -04:00
.gitignore KVM: selftests: add a memslot-related performance benchmark 2021-05-27 07:45:54 -04:00
config selftests: kvm: Adding config fragments 2019-08-09 16:52:38 +02:00
demand_paging_test.c KVM: selftests: add shared hugetlbfs backing source type 2021-05-27 07:45:57 -04:00
dirty_log_perf_test.c KVM: selftests: Disable dirty logging with vCPUs running 2021-02-04 05:27:20 -05:00
dirty_log_test.c KVM: selftests: Always run vCPU thread with blocked SIG_IPI 2021-04-21 12:20:02 -04:00
hardware_disable_test.c KVM: selftests: Fix hang in hardware_disable_test 2021-05-27 07:45:55 -04:00
kvm_create_max_vcpus.c KVM: selftests: Convert some printf's to pr_info's 2020-03-16 17:57:07 +01:00
kvm_page_table_test.c selftests: kvm: Add support for customized slot0 memory size 2021-06-08 13:29:10 -04:00
Makefile KVM: selftests: add a memslot-related performance benchmark 2021-05-27 07:45:54 -04:00
memslot_modification_stress_test.c KVM: selftests: Fix 32-bit truncation of vm_get_max_gfn() 2021-05-27 07:45:54 -04:00
memslot_perf_test.c selftests: kvm: Add support for customized slot0 memory size 2021-06-08 13:29:10 -04:00
set_memory_region_test.c KVM: selftests: Speed up set_memory_region_test 2021-04-26 12:21:27 -04:00
settings selftests: kvm: Raise the default timeout to 120 seconds 2021-02-09 08:17:08 -05:00
steal_time.c KVM: selftests: Rework timespec functions and usage 2020-03-18 14:08:56 +01:00