Re: [PATCH 00/10] KVM: selftests: Add KVM_SET_MEMORY_REGION tests

From: Paolo Bonzini
Date: Wed Apr 15 2020 - 11:40:59 EST


On 11/04/20 01:16, Sean Christopherson wrote:
> This is v2-ish of my series to add a "delete" testcase[1], and v5.1 of
> Wainer's series to add a "max" testcase[2].
>
> I've only tested on x86_64. I fudged compile testing on !x86_64 by
> inverting the ifdefs, e.g. to squish unused var warnings, but by no means
> is the code actually tested on other architectures.
>
> I kept Andrew's review for the "max" test. Other than the 1MB->2MB
> change (see below), it was basically a straight copy-paste of code.
>
> v1->v2 of delete:
> - Drop patch to expose primary memslot. [Peter]
> - Add explicit synchronization to MOVE and DELETE tests. [Peter]
> - Use list.h instead of open coding linked lists. [Peter]
> - Clean up the code and separate the testcases into separate functions.
> - Expand GUEST_ASSERT() to allow passing a value back to the host for
> printing.
> - Move to common KVM, with ifdefs to hide the x86_64-only stuff (which
> is a lot at this point).
> - Do KVM_SET_NR_MMU_PAGES in the "zero" testcase to get less obscure
> behavior for KVM_RUN. [Christian]
>
> v5.1 of max:
> - Fix a whitespace issue in vm_get_fd(). [checkpatch]
> - Move the code to set_memory_region_test. The only _intended_
> functional change is to create 2MB regions instead of 1MB regions.
> The only motivation for doing so was to reuse an existing define in
> set_memory_region_test.
>
> [1] https://lkml.kernel.org/r/20200320205546.2396-1-sean.j.christopherson@xxxxxxxxx
> [2] https://lkml.kernel.org/r/20200409220905.26573-1-wainersm@xxxxxxxxxx
>
> Sean Christopherson (8):
> KVM: selftests: Take vcpu pointer instead of id in vm_vcpu_rm()
> KVM: selftests: Use kernel's list instead of homebrewed replacement
> KVM: selftests: Add util to delete memory region
> KVM: selftests: Add GUEST_ASSERT variants to pass values to host
> KVM: sefltests: Add explicit synchronization to move mem region test
> KVM: selftests: Add "delete" testcase to set_memory_region_test
> KVM: selftests: Add "zero" testcase to set_memory_region_test
> KVM: selftests: Make set_memory_region_test common to all
> architectures
>
> Wainer dos Santos Moschetta (2):
> selftests: kvm: Add vm_get_fd() in kvm_util
> selftests: kvm: Add testcase for creating max number of memslots
>
> tools/testing/selftests/kvm/.gitignore | 2 +-
> tools/testing/selftests/kvm/Makefile | 4 +-
> .../testing/selftests/kvm/include/kvm_util.h | 28 +-
> tools/testing/selftests/kvm/lib/kvm_util.c | 154 +++----
> .../selftests/kvm/lib/kvm_util_internal.h | 8 +-
> .../selftests/kvm/lib/s390x/processor.c | 5 +-
> .../selftests/kvm/set_memory_region_test.c | 403 ++++++++++++++++++
> .../kvm/x86_64/set_memory_region_test.c | 141 ------
> 8 files changed, 520 insertions(+), 225 deletions(-)
> create mode 100644 tools/testing/selftests/kvm/set_memory_region_test.c
> delete mode 100644 tools/testing/selftests/kvm/x86_64/set_memory_region_test.c
>

Queued, thanks -- while keeping the zero region test x86-only.

Paolo