• Gavin Shan's avatar
    KVM: selftests: memslot_perf_test: Report optimal memory slots · a69170c6
    Gavin Shan authored
    The memory area in each slot should be aligned to host page size.
    Otherwise, the test will fail. For example, the following command
    fails with the following messages with 64KB-page-size-host and
    4KB-pae-size-guest. It's not user friendly to abort the test.
    Lets do something to report the optimal memory slots, instead of
    failing the test.
    
      # ./memslot_perf_test -v -s 1000
      Number of memory slots: 999
      Testing map performance with 1 runs, 5 seconds each
      Adding slots 1..999, each slot with 8 pages + 216 extra pages last
      ==== Test Assertion Failure ====
        lib/kvm_util.c:824: vm_adjust_num_guest_pages(vm->mode, npages) == npages
        pid=19872 tid=19872 errno=0 - Success
           1  0x00000000004065b3: vm_userspace_mem_region_add at kvm_util.c:822
           2  0x0000000000401d6b: prepare_vm at memslot_perf_test.c:273
           3  (inlined by) test_execute at memslot_perf_test.c:756
           4  (inlined by) test_loop at memslot_perf_test.c:994
           5  (inlined by) main at memslot_perf_test.c:1073
           6  0x0000ffff7ebb4383: ?? ??:0
           7  0x00000000004021ff: _start at :?
        Number of guest pages is not compatible with the host. Try npages=16
    
    Report the optimal memory slots instead of failing the test when
    the memory area in each slot isn't aligned to host page size. With
    this applied, the optimal memory slots is reported.
    
      # ./memslot_perf_test -v -s 1000
      Number of memory slots: 999
      Testing map performance with 1 runs, 5 seconds each
      Memslot count too high for this test, decrease the cap (max is 514)
    Signed-off-by: default avatarGavin Shan <gshan@redhat.com>
    Reviewed-by: default avatarMaciej S. Szmigiero <maciej.szmigiero@oracle.com>
    Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
    Link: https://lore.kernel.org/r/20221020071209.559062-7-gshan@redhat.com
    a69170c6
memslot_perf_test.c 29.5 KB