[gmem,0/5] KVM: selftests: Fix multiple memslots in conv test

Message ID 20231023191532.2405326-1-seanjc@google.com
Headers
Series KVM: selftests: Fix multiple memslots in conv test |

Message

Sean Christopherson Oct. 23, 2023, 7:15 p.m. UTC
  Rework the private memory conversions selftest to allow the user to specify
a (somewhat) arbitrary number of memslots instead of testing only '1' or
"nr_vcpus" memslots.  Creating more memslots than vCPUs is particuarly
interesting as it results in a single vCPU's data chunk being spread across
multiple memslots, which in turn results in the test changing attributes
across multiple memslots in a single KVM_SET_MEMORY_ATTRIBUTES.

This also fixes the issues reported by Mike where the test would crash when
run with multiple vCPUs and a single memslot.

Sean Christopherson (5):
  KVM: selftests: Rework fallocate() helper to work across multiple
    memslots
  KVM: selftests: Handle memslot splits in private mem conversions test
  KVM: selftests: Let user specify nr of memslots in private mem
    conversion
  KVM: selftests: Use dedicated pattern for testing that mem is shared
    by default
  KVM: selftests: Verify default pattern was written in private mem
    conversion

 tools/testing/selftests/kvm/lib/kvm_util.c    | 34 ++++----
 .../kvm/x86_64/private_mem_conversions_test.c | 87 +++++++++++--------
 2 files changed, 69 insertions(+), 52 deletions(-)


base-commit: 911b515af3ec5f53992b9cc162cf7d3893c2fbe2