Re: [PATCH V5 0/2] selftests: KVM: Add a test for eager page splitting

From: Paolo Bonzini
Date: Wed Mar 15 2023 - 08:27:18 EST


On Tue, Mar 14, 2023 at 5:00 PM David Matlack <dmatlack@xxxxxxxxxx> wrote:
> On Tue, Mar 14, 2023 at 7:23 AM Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote:
> > $ tools/testing/selftests/kvm/x86_64/dirty_log_page_splitting_test
> > Testing guest mode: PA-bits:ANY, VA-bits:48, 4K pages
> > guest physical test memory: [0x7fc7fe00000, 0x7fcffe00000)
> > ==== Test Assertion Failure ====
> > x86_64/dirty_log_page_splitting_test.c:195: __a == __b
> > pid=1378203 tid=1378203 errno=0 - Success
> > 1 0x0000000000402d02: run_test at dirty_log_page_splitting_test.c:195
> > 2 0x000000000040367c: for_each_guest_mode at guest_modes.c:100
> > 3 0x00000000004024df: main at dirty_log_page_splitting_test.c:245
> > 4 0x00007f4227c3feaf: ?? ??:0
> > 5 0x00007f4227c3ff5f: ?? ??:0
> > 6 0x0000000000402594: _start at ??:?
> > ASSERT_EQ(stats_populated.pages_4k, stats_repopulated.pages_4k) failed.
> > stats_populated.pages_4k is 0x413
> > stats_repopulated.pages_4k is 0x412
>
> I wonder if pages are getting swapped, especially if running on a
> workstation. If so, mlock()ing all guest memory VMAs might be
> necessary to be able to assert exact page counts.

I don't think so, it's 100% reproducible and the machine is idle and
only accessed via network. Also has 64 GB of RAM. :)

Paolo