On Fri, 2024-12-13 at 17:07 -0800, Sean Christopherson wrote: > Print out the last dirty pages from the current and previous iteration on > verification failures. In many cases, bugs (especially test bugs) occur > on the edges, i.e. on or near the last pages, and being able to correlate > failures with the last pages can aid in debug. > > Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx> > --- > tools/testing/selftests/kvm/dirty_log_test.c | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) > > diff --git a/tools/testing/selftests/kvm/dirty_log_test.c b/tools/testing/selftests/kvm/dirty_log_test.c > index d7cf1840bd80..fe8cc7f77e22 100644 > --- a/tools/testing/selftests/kvm/dirty_log_test.c > +++ b/tools/testing/selftests/kvm/dirty_log_test.c > @@ -566,8 +566,10 @@ static void vm_dirty_log_verify(enum vm_guest_mode mode, unsigned long *bmap) > } > } > > - TEST_FAIL("Dirty page %lu value (%lu) != iteration (%lu)", > - page, val, iteration); > + TEST_FAIL("Dirty page %lu value (%lu) != iteration (%lu) " > + "(last = %lu, prev_last = %lu)", > + page, val, iteration, dirty_ring_last_page, > + dirty_ring_prev_iteration_last_page); > } else { > nr_clean_pages++; > /* > @@ -590,9 +592,10 @@ static void vm_dirty_log_verify(enum vm_guest_mode mode, unsigned long *bmap) > * value "iteration-1". > */ > TEST_ASSERT(val <= iteration, > - "Clear page %"PRIu64" value %"PRIu64 > - " incorrect (iteration=%"PRIu64")", > - page, val, iteration); > + "Clear page %lu value (%lu) > iteration (%lu) " > + "(last = %lu, prev_last = %lu)", > + page, val, iteration, dirty_ring_last_page, > + dirty_ring_prev_iteration_last_page); > if (val == iteration) { > /* > * This page is _just_ modified; it Reviewed-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx>