All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fabio Fantoni <fabio.fantoni@m2r.biz>
To: Jan Beulich <JBeulich@suse.com>, Paul Durrant <Paul.Durrant@citrix.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	zhi.a.wang@intel.com,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [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
Date: Fri, 10 Jul 2015 12:51:41 +0200	[thread overview]
Message-ID: <559FA3BD.70806@m2r.biz> (raw)
In-Reply-To: <559FB877020000780008F63C@mail.emea.novell.com>

Il 10/07/2015 12:20, Jan Beulich ha scritto:
>>>> On 10.07.15 at 12:09, <fabio.fantoni@m2r.biz> 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@m2r.biz]
>>>>> Sent: 10 July 2015 10:28
>>>>> To: Paul Durrant; xen-devel@lists.xen.org
>>>>> 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.

  reply	other threads:[~2015-07-10 10:51 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-09 13:10 [PATCH v7 00/15] x86/hvm: I/O emulation cleanup and fix Paul Durrant
2015-07-09 13:10 ` [PATCH v7 01/15] x86/hvm: remove multiple open coded 'chunking' loops Paul Durrant
2015-07-09 15:13   ` Jan Beulich
2015-07-09 16:16     ` Paul Durrant
2015-07-09 16:24       ` Jan Beulich
2015-07-09 16:27         ` Paul Durrant
2015-07-09 13:10 ` [PATCH v7 02/15] x86/hvm: change hvm_mmio_read_t and hvm_mmio_write_t length argument Paul Durrant
2015-07-09 13:10 ` [PATCH v7 03/15] x86/hvm: restrict port numbers and uint16_t and sizes to unsigned int Paul Durrant
2015-07-09 15:24   ` Jan Beulich
2015-07-09 16:10     ` Paul Durrant
2015-07-09 16:20       ` Jan Beulich
2015-07-09 16:23         ` Paul Durrant
2015-07-09 16:31           ` Jan Beulich
2015-07-09 13:10 ` [PATCH v7 04/15] x86/hvm: unify internal portio and mmio intercepts Paul Durrant
2015-07-09 13:10 ` [PATCH v7 05/15] x86/hvm: add length to mmio check op Paul Durrant
2015-07-09 13:10 ` [PATCH v7 06/15] x86/hvm: unify dpci portio intercept with standard portio intercept Paul Durrant
2015-07-09 13:10 ` [PATCH v7 07/15] x86/hvm: unify stdvga mmio intercept with standard mmio intercept Paul Durrant
2015-07-09 15:33   ` Jan Beulich
2015-07-09 16:12     ` Paul Durrant
2015-07-09 16:21       ` Jan Beulich
2015-07-09 16:24         ` Paul Durrant
2015-07-09 13:10 ` [PATCH v7 08/15] x86/hvm: limit reps to avoid the need to handle retry Paul Durrant
2015-07-09 13:10 ` [PATCH v7 09/15] x86/hvm: only call hvm_io_assist() from hvm_wait_for_io() Paul Durrant
2015-07-09 13:10 ` [PATCH v7 10/15] x86/hvm: split I/O completion handling from state model Paul Durrant
2015-07-09 13:10 ` [PATCH v7 11/15] x86/hvm: remove HVMIO_dispatched I/O state Paul Durrant
2015-07-09 13:10 ` [PATCH v7 12/15] x86/hvm: remove hvm_io_state enumeration Paul Durrant
2015-07-09 13:10 ` [PATCH v7 13/15] x86/hvm: use ioreq_t to track in-flight state Paul Durrant
2015-07-09 13:10 ` [PATCH v7 14/15] x86/hvm: always re-emulate I/O from a buffer Paul Durrant
2015-07-09 13:10 ` [PATCH v7 15/15] x86/hvm: track large memory mapped accesses by buffer offset Paul Durrant
2015-07-09 15:46   ` Jan Beulich
2015-07-09 16:05     ` Paul Durrant
2015-07-10  9:27 ` [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 Fabio Fantoni
2015-07-10  9:31   ` Paul Durrant
2015-07-10  9:54     ` Fabio Fantoni
2015-07-10 10:09       ` Fabio Fantoni
2015-07-10 10:13         ` Paul Durrant
2015-07-10 10:20         ` Jan Beulich
2015-07-10 10:51           ` Fabio Fantoni [this message]
2015-07-10 11:00             ` Jan Beulich
2015-07-09 19:32               ` Zhi Wang
2015-07-10 11:46                 ` Jan Beulich
2015-07-10 11:49               ` Fabio Fantoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=559FA3BD.70806@m2r.biz \
    --to=fabio.fantoni@m2r.biz \
    --cc=Andrew.Cooper3@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=Paul.Durrant@citrix.com \
    --cc=xen-devel@lists.xen.org \
    --cc=zhi.a.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.