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

Re: [Xen-devel] Xenalyze questions



> > init_pcpus: through first trace write, done for now.
> > ]               .... .    x. d32768v10 vmexit exit_reason EXCEPTION_NMI eip
> fffff88005a25ad0
> > ]               .... .    x. d32768v10 fast mmio va fffff88008808df0
> > ]               .... .    x. d32768v10 cpuid [ 1 206c2 400800 83b82203 
> > 178bfbff ]
> > hvm_generic_postprocess_init: Strange, h->postprocess set!
> 
> ...I'm trying to figure out how on earth you got a trace like that.
> It looks like:
> 1. The VM took a page fault (EXCEPTION_NMI)
> 2. Xen determined that it was an MMIO, which would mean that the guest
> PT was valid, but pointed to PFN space that Xen didn't recognize
> 3. It somehow emulated a CPUID instruction???
> 
> CPUID doesn't do any memory accesses, so it shouldn't be able to
> trigger an MMIO fault like this.

According to xentrace, the first VMEXIT was a TRAP_nodevice followed indeed by 
a page fault that triggered emulation of a CPUID which is odd...

CPU2  243316272356568 (+   26064)  VMENTRY
CPU2  243316272362080 (+    5512)  VMEXIT      [ exitcode = 0x00000000, rIP  = 
0xfffff80188e57e2e ]
CPU2  243316272362080 (+       0)  TRAP        [ vector = 0x00000007 ]
CPU2  243316272366728 (+    4648)  VMENTRY
CPU2  243316272377592 (+   10864)  VMEXIT      [ exitcode = 0x00000000, rIP  = 
0xfffff88005a25ad0 ]
CPU2  243316272377592 (+       0)  shadow_fast_mmio                  [ va = 
0xfffff88008808df0 ]
CPU2  243316272377592 (+       0)  CPUID       [ func = 0x00000001, eax = 
0x000206c2, ebx = 0x00400800, ecx=0x83b82203, edx = 0x178bfbff ]
CPU2  243316272377592 (+       0)  PF_INJECT   [ errorcode = 0x0b, virt = 
0xfffff88008808df0 ]

followed by many repeats of the same CPUID... this might explain my performance 
problem!!!

BTW: I should say that this system is setup to use shadow for VRAM tracking and 
does NOT have HAP enabled (because that slows down VRAM tracking too much)

I've seen problems in the past where the emulation setup in the shadow code is 
woefully limited leading to just this sort of repeated loop...

> 
> Do you have any way of telling what instruction was at the address at
> the EIP (fffff88005a25ad0)?
> 

Probably with some effort - I think this was a 64-bit Win8 VM and I can use 
windbag to figure this out: will get back to you on that!

> Also, could you run xenalyze as follows, and attach the first couple
> hundred lines:
> 
> xenalyze -a [filename] > [filename.dump]
> 

Attached.

Simon

Attachment: e-extr.log
Description: e-extr.log

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.