Messages in this thread | | | Date | Tue, 27 Sep 2022 14:14:53 +0200 | Subject | Re: [PATCH] KVM: selftests: replace assertion with warning in access_tracking_perf_test | From | Paolo Bonzini <> |
| |
On 9/26/22 10:29, Emanuele Giuseppe Esposito wrote: > Page_idle uses {ptep/pmdp}_clear_young_notify which in turn calls > the mmu notifier callback ->clear_young(), which purposefully > does not flush the TLB. > > When running the test in a nested guest, point 1. of the test > doc header is violated, because KVM TLB is unbounded by size > and since no flush is forced, KVM does not update the sptes > accessed/idle bits resulting in guest assertion failure. > > More precisely, only the first ACCESS_WRITE in run_test() actually > makes visible changes, because sptes are created and the accessed > bit is set to 1 (or idle bit is 0). Then the first mark_memory_idle() > passes since access bit is still one, and sets all pages as idle > (or not accessed). When the next write is performed, the update > is not flushed therefore idle is still 1 and next mark_memory_idle() > fails.
Queued, thanks.
Paolo
| |