Re: [kvm-unit-tests PATCH 2/3] x86/vmx: fix detection of unmapped PTE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux