mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-26 16:41:25 +00:00
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: 76d58e0f07
("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>
This commit is contained in:
parent
19ec166c3f
commit
bffed38d4f
1 changed files with 1 additions and 1 deletions
|
@ -293,7 +293,7 @@ static void run_test(enum vm_guest_mode mode, unsigned long iterations,
|
||||||
* A little more than 1G of guest page sized pages. Cover the
|
* A little more than 1G of guest page sized pages. Cover the
|
||||||
* case where the size is not aligned to 64 pages.
|
* case where the size is not aligned to 64 pages.
|
||||||
*/
|
*/
|
||||||
guest_num_pages = (1ul << (30 - guest_page_shift)) + 3;
|
guest_num_pages = (1ul << (30 - guest_page_shift)) + 16;
|
||||||
host_page_size = getpagesize();
|
host_page_size = getpagesize();
|
||||||
host_num_pages = (guest_num_pages * guest_page_size) / host_page_size +
|
host_num_pages = (guest_num_pages * guest_page_size) / host_page_size +
|
||||||
!!((guest_num_pages * guest_page_size) % host_page_size);
|
!!((guest_num_pages * guest_page_size) % host_page_size);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue