diff options
author | Andrew Jones <drjones@redhat.com> | 2019-05-23 05:34:05 -0400 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2019-05-24 15:27:15 -0400 |
commit | bffed38d4fb536c5d5d6c37846a7fb8fde1452fa (patch) | |
tree | 640f14a9dff53f46fd5bde3224724e703d974ff5 | |
parent | 19ec166c3f39fe1d3789888a74cc95544ac266d4 (diff) |
kvm: selftests: aarch64: dirty_log_test: fix unaligned memslot size
The memory slot size must be aligned to the host's page size. When
testing a guest with a 4k page size on a host with a 64k page size,
then 3 guest pages are not host page size aligned. Since we just need
a nearly arbitrary number of extra pages to ensure the memslot is not
aligned to a 64 host-page boundary for this test, then we can use
16, as that's 64k aligned, but not 64 * 64k aligned.
Fixes: 76d58e0f07ec ("KVM: fix KVM_CLEAR_DIRTY_LOG for memory slots of unaligned size", 2019-04-17)
Signed-off-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | tools/testing/selftests/kvm/dirty_log_test.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/testing/selftests/kvm/dirty_log_test.c b/tools/testing/selftests/kvm/dirty_log_test.c index 4a2bdaf616fb..fc27f890155b 100644 --- a/tools/testing/selftests/kvm/dirty_log_test.c +++ b/tools/testing/selftests/kvm/dirty_log_test.c | |||
@@ -293,7 +293,7 @@ static void run_test(enum vm_guest_mode mode, unsigned long iterations, | |||
293 | * A little more than 1G of guest page sized pages. Cover the | 293 | * A little more than 1G of guest page sized pages. Cover the |
294 | * case where the size is not aligned to 64 pages. | 294 | * case where the size is not aligned to 64 pages. |
295 | */ | 295 | */ |
296 | guest_num_pages = (1ul << (30 - guest_page_shift)) + 3; | 296 | guest_num_pages = (1ul << (30 - guest_page_shift)) + 16; |
297 | host_page_size = getpagesize(); | 297 | host_page_size = getpagesize(); |
298 | host_num_pages = (guest_num_pages * guest_page_size) / host_page_size + | 298 | host_num_pages = (guest_num_pages * guest_page_size) / host_page_size + |
299 | !!((guest_num_pages * guest_page_size) % host_page_size); | 299 | !!((guest_num_pages * guest_page_size) % host_page_size); |