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

Re: [Xen-devel] [PATCH v7 00/15] x86/hvm: I/O emulation cleanup and fix | Full Backtrace of domU's X crash caused by SSE2 istruction in attachment



Il 10/07/2015 12:20, Jan Beulich ha scritto:
On 10.07.15 at 12:09, <fabio.fantoni@xxxxxxx> wrote:
Il 10/07/2015 11:54, Fabio Fantoni ha scritto:
Il 10/07/2015 11:31, Paul Durrant ha scritto:
-----Original Message-----
From: Fabio Fantoni [mailto:fabio.fantoni@xxxxxxx]
Sent: 10 July 2015 10:28
To: Paul Durrant; xen-devel@xxxxxxxxxxxxx
Cc: Jan Beulich; Andrew Cooper
Subject: Re: [Xen-devel] [PATCH v7 00/15] x86/hvm: I/O emulation
cleanup
and fix | Full Backtrace of domU's X crash caused by SSE2 istruction in
attachment

Il 09/07/2015 15:10, Paul Durrant ha scritto:
This patch series re-works much of the code involved in emulation
of port
and memory mapped I/O for HVM guests.

The code has become very convoluted and, at least by inspection,
certain
emulations will apparently malfunction.

The series is broken down into 15 patches (which are also available in
my xenbits repo:
http://xenbits.xen.org/gitweb/?p=people/pauldu/xen.git
on the emulation34 branch).
Yesterday I retried with this version and seems that you fixed
something
that make possible atleast debug in the domU.

I taken gdb data of X crash inside Sid hvm domU:
#0  sse2_blt (src_bits=<optimized out>, dst_bits=<optimized out>,
src_stride=<optimized out>, dst_stride=<optimized out>,
src_bpp=<optimized out>, src_x=<optimized out>, src_y=0, dest_x=0,
dest_y=0, width=1024, height=<optimized out>, dst_bpp=<optimized out>,
imp=<optimized out>) at ../../pixman/pixman-sse2.c:4773

Latest istruction:
=> 0x7f70360ef8eb <sse2_blt+459>:    movaps %xmm0,-0x10(%rsi)

Full log in attachment.

If you need more informations/tests tell me and I'll post them.

I imagine you got a GP fault due to handle_mmio() returning
X86EMUL_UNHANDLEABLE, but that's only a guess.
I suggest you try to instrument Xen a little to find out why.
Thanks for reply, sorry but I not understand exactly what I must do.
Can you detail please?
I take a look in xen/arch/x86/x86_emulate/x86_emulate.c and the
istruction seems like this other found by xengt developers:
https://github.com/01org/XenGT-Preview-xen/commit/f2bad31f80f698a452c37cb39841
da8e4f69350f
Other than MOVD, MOVAPS is already being supported by the
insn emulator.

Jan

Thanks for your reply.
Then why do you think MOVAPS fails in my test? If you need it, here is the full gdb output:
http://lists.xen.org/archives/html/xen-devel/2015-07/txtpTIgy5CpzU.txt
If you need more informations/tests tell me and I'll post them.
Sse2 was introduced in cpus 11 years ago, so I think it would be useful to add support for all missing instructions to avoid more cases like this (and it seems to improve performance too, comparing the same task executed with/without sse2). I'm going to try updated xen staging with MOVD support patch added, any other useful information for other tests/debug is appreciated.

Thanks for any reply and sorry for my bad english.

_______________________________________________
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®.