Message ID | 20201027233733.1484855-3-bgardon@google.com |
---|---|
State | Accepted |
Commit | 2fe5149bdfbf3c2cdfafd2b5b496252d45ca1f78 |
Headers | show |
Series | Add a dirty logging performance test | expand |
On Tue, Oct 27, 2020 at 04:37:30PM -0700, Ben Gardon wrote: > 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> Nit: would be better to be before the code movement. In all cases: Reviewed-by: Peter Xu <peterx@redhat.com>
diff --git a/tools/testing/selftests/kvm/include/perf_test_util.h b/tools/testing/selftests/kvm/include/perf_test_util.h index f71f0858a1f29..838f946700f0c 100644 --- a/tools/testing/selftests/kvm/include/perf_test_util.h +++ b/tools/testing/selftests/kvm/include/perf_test_util.h @@ -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; }
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> --- tools/testing/selftests/kvm/include/perf_test_util.h | 1 - 1 file changed, 1 deletion(-)