lkml.org 
[lkml]   [2021]   [Feb]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    Subject[PATCH 14/15] KVM: selftests: Track size of per-VM memslot in perf_test_args
    From
    Capture the final size of the dedicated memslot created by perf_test_args
    so that tests don't have to try and guesstimate the final result. This
    will be used by the memslots modification test to remove some truly
    mind-boggling code.

    No functional change intended.

    Signed-off-by: Sean Christopherson <seanjc@google.com>
    ---
    tools/testing/selftests/kvm/include/perf_test_util.h | 1 +
    tools/testing/selftests/kvm/lib/perf_test_util.c | 8 +++++---
    2 files changed, 6 insertions(+), 3 deletions(-)

    diff --git a/tools/testing/selftests/kvm/include/perf_test_util.h b/tools/testing/selftests/kvm/include/perf_test_util.h
    index 330e528f206f..4da2d2dbf4c2 100644
    --- a/tools/testing/selftests/kvm/include/perf_test_util.h
    +++ b/tools/testing/selftests/kvm/include/perf_test_util.h
    @@ -30,6 +30,7 @@ struct perf_test_args {
    struct kvm_vm *vm;
    uint64_t gpa;
    uint64_t guest_page_size;
    + uint64_t nr_bytes;
    int wr_fract;

    struct perf_test_vcpu_args vcpu_args[KVM_MAX_VCPUS];
    diff --git a/tools/testing/selftests/kvm/lib/perf_test_util.c b/tools/testing/selftests/kvm/lib/perf_test_util.c
    index 6f41fe2685cb..00953d15388f 100644
    --- a/tools/testing/selftests/kvm/lib/perf_test_util.c
    +++ b/tools/testing/selftests/kvm/lib/perf_test_util.c
    @@ -80,8 +80,6 @@ static void perf_test_setup_vcpus(struct kvm_vm *vm, int vcpus,
    }
    }

    -
    -
    struct kvm_vm *perf_test_create_vm(enum vm_guest_mode mode, int vcpus,
    uint64_t vcpu_memory_bytes,
    enum vm_mem_backing_src_type backing_src,
    @@ -104,7 +102,11 @@ struct kvm_vm *perf_test_create_vm(enum vm_guest_mode mode, int vcpus,

    guest_num_pages = vm_adjust_num_guest_pages(mode,
    (vcpus * vcpu_memory_bytes) / pta->guest_page_size);
    - vcpu_memory_bytes = (guest_num_pages * pta->guest_page_size) / vcpus;
    + pta->nr_bytes = guest_num_pages * pta->guest_page_size;
    +
    + TEST_ASSERT(pta->nr_bytes % vcpus == 0,
    + "Guest pages adjustment yielded a weird number of pages.");
    + vcpu_memory_bytes = pta->nr_bytes / vcpus;

    TEST_ASSERT(vcpu_memory_bytes % getpagesize() == 0,
    "Guest memory size is not host page size aligned.");
    --
    2.30.0.478.g8a0d178c01-goog
    \
     
     \ /
      Last update: 2021-02-11 00:12    [W:8.330 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site