2017-07-03 12:34+0200, Paolo Bonzini: > On 30/06/2017 12:33, Paolo Bonzini wrote: > > This breaks the vmx PML test: > > > > Test suite: PML > > PASS: PML - Dirty GPA Logging > > ERROR - unexpected stage, 2. > > VMEXIT info: > > vmexit reason = 18 > > exit qualification = 0 > > Bit 31 of reason = 0 > > guest_rip = 0x4049b3 > > RAX=0x149a000 RBX=0x3f8 RCX=0x184 RDX=0x3fd > > RSP=0x46efcf RBP=0x46efdf RSI=0x41a8a3 RDI=0x41a8a3 > > R8 =0xa R9 =0x3f8 R10=0 R11=0 > > R12=0 R13=0 R14=0 R15=0 > > > > > > (should have been "PASS: PML Full Event"). I didn't investigate why. > > Hmm, actually it seems to come and go. I've applied patches 2 and 3 for > now. I had to use a different machine to reproduce ... with the patches, the guest report() (probably) accesses 1 more page, which adds one entry to PML and changes the progress of this pml_main loop: while (vmx_get_test_stage() == 1) { *((u32 *)data_page2) = 0x1; if (count++ > PML_INDEX) break; vmcall(); } Each cycle adds 4 entries to the PML and the extra entry makes the log fill just before the vmcall. I don't think the one extra access is something we need to tend to, so I'll send a fix for the PML test.