KVM: selftests: Remove address rounding in guest code
authorBen Gardon <bgardon@google.com>
Tue, 27 Oct 2020 23:37:30 +0000 (16:37 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Sun, 8 Nov 2020 11:03:34 +0000 (06:03 -0500)
Rounding the address the guest writes to a host page boundary
will only have an effect if the host page size is larger than the guest
page size, but in that case the guest write would still go to the same
host page. There's no reason to round the address down, so remove the
rounding to simplify the demand paging test.

This series was tested by running the following invocations on an Intel
Skylake machine:
dirty_log_perf_test -b 20m -i 100 -v 64
dirty_log_perf_test -b 20g -i 5 -v 4
dirty_log_perf_test -b 4g -i 5 -v 32
demand_paging_test -b 20m -v 64
demand_paging_test -b 20g -v 4
demand_paging_test -b 4g -v 32
All behaved as expected.

Signed-off-by: Ben Gardon <bgardon@google.com>
Message-Id: <20201027233733.1484855-3-bgardon@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
tools/testing/selftests/kvm/include/perf_test_util.h

index f71f085..838f946 100644 (file)
@@ -72,7 +72,6 @@ static void guest_code(uint32_t vcpu_id)
        for (i = 0; i < pages; i++) {
                uint64_t addr = gva + (i * perf_test_args.guest_page_size);
 
-               addr &= ~(perf_test_args.host_page_size - 1);
                *(uint64_t *)addr = 0x0123456789ABCDEF;
        }