OSDN Git Service

KVM: selftests: memslot_perf_test: Consolidate loop conditions in prepare_vm()
authorGavin Shan <gshan@redhat.com>
Thu, 20 Oct 2022 07:12:05 +0000 (15:12 +0800)
committerMarc Zyngier <maz@kernel.org>
Thu, 10 Nov 2022 18:56:15 +0000 (18:56 +0000)
There are two loops in prepare_vm(), which have different conditions.
'slot' is treated as meory slot index in the first loop, but index of
the host virtual address array in the second loop. It makes it a bit
hard to understand the code.

Change the usage of 'slot' in the second loop, to treat it as the
memory slot index either.

No functional change intended.

Signed-off-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20221020071209.559062-3-gshan@redhat.com
tools/testing/selftests/kvm/memslot_perf_test.c

index 231cc84..dcb492b 100644 (file)
@@ -297,21 +297,20 @@ static bool prepare_vm(struct vm_data *data, int nslots, uint64_t *maxslots,
        }
        *slot_runtime = timespec_elapsed(tstart);
 
-       for (slot = 0, guest_addr = MEM_GPA; slot < data->nslots; slot++) {
+       for (slot = 1, guest_addr = MEM_GPA; slot <= data->nslots; slot++) {
                uint64_t npages;
                uint64_t gpa;
 
                npages = data->pages_per_slot;
-               if (slot == data->nslots - 1)
+               if (slot == data->nslots)
                        npages += rempages;
 
-               gpa = vm_phy_pages_alloc(data->vm, npages, guest_addr,
-                                        slot + 1);
+               gpa = vm_phy_pages_alloc(data->vm, npages, guest_addr, slot);
                TEST_ASSERT(gpa == guest_addr,
                            "vm_phy_pages_alloc() failed\n");
 
-               data->hva_slots[slot] = addr_gpa2hva(data->vm, guest_addr);
-               memset(data->hva_slots[slot], 0, npages * 4096);
+               data->hva_slots[slot - 1] = addr_gpa2hva(data->vm, guest_addr);
+               memset(data->hva_slots[slot - 1], 0, npages * 4096);
 
                guest_addr += npages * 4096;
        }