From: Fabio Fantoni <fabio.fantoni@m2r.biz>
To: Jan Beulich <JBeulich@suse.com>
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
xen-devel <xen-devel@lists.xensource.com>,
Eddie Dong <eddie.dong@intel.com>,
Jun Nakajima <jun.nakajima@intel.com>
Subject: Re: Test if on newer xen all SSE2 and SSE3 instructions are effectively working
Date: Fri, 22 Nov 2013 14:51:50 +0100 [thread overview]
Message-ID: <528F6176.9030709@m2r.biz> (raw)
In-Reply-To: <528F59490200007800105CE3@nat28.tlf.novell.com>
Il 22/11/2013 13:16, Jan Beulich ha scritto:
>>>> On 22.11.13 at 13:14, Fabio Fantoni <fabio.fantoni@m2r.biz> wrote:
>> Il 21/11/2013 16:38, Andrew Cooper ha scritto:
>>> On 21/11/13 15:32, George Dunlap wrote:
>>>> On 21/11/13 15:22, Andrew Cooper wrote:
>>>>> On 21/11/13 15:12, George Dunlap wrote:
>>>>>> On Thu, Nov 21, 2013 at 10:52 AM, Fabio Fantoni
>>>>>> <fabio.fantoni@m2r.biz> wrote:
>>>>>>> I'm trying to test if on newer xen all SSE2 and SSE3 instructions are
>>>>>>> effectively working.
>>>>>>> I tried this simple program to test SSE2:
>>>>>>> http://forum.nasm.us/index.php?topic=1605.0
>>>>>>> But probably use only instructions with short operand because SSE2
>>>>>>> on this
>>>>>>> program is working also on old xen 4.0 where Jan Beulich patches to
>>>>>>> support
>>>>>>> long operands are missing.
>>>>>>> Are there any minimal program to test if SSE instructions with MMIO
>>>>>>> operands
>>>>>>>> 8 byte are working?
>>>>>> I don't see the code there doing MMIO -- it's just doing operations on
>>>>>> normal RAM, which is not emulated by Xen at all, but executed natively
>>>>>> by the processor.
>>>>>>
>>>>>> What you need is a program that will do this to an MMIO region -- that
>>>>>> will be a much trickier thing to set up, I think.
>>>>>>
>>>>>> -George
>>>>> The problem with SSE is only when the guest performs an SSE (or larger)
>>>>> operation on a piece of memory which ends up being emulated and handed
>>>>> to qemu. The ioreq protocol doesn't have a way of signalling an operand
>>>>> width greater than 64 bits.
>>>> I'd like to emphasize the "and" in the first sentence. You might be
>>>> able to trigger a Xen emulation in any number of ways (disabling HAP
>>>> and then doing an SSE instruction on an in-use PT might do it). But
>>>> Xen allegedly already does the actual emulation correctly -- as Andy
>>>> said, it's only the path to qemu that wasn't working before.
>>>>
>>>> -George
>>>>
>>> Oops yes - I should have emphasised that a bit more. I believe Jan
>>> submitted a hacked-fix for the qemu path which fixes the immediate issue
>>> (for 128bit emulation) but is in need of a redesign for wider emulation;
>>> 256bit is available with AVX, and 512bit is on its way with AVX2.
>>>
>>> As for testing individual instructions, there is
>>> tools/tests/x86_emulator/test_x86_emulator.c which tests a token few
>>> instructions against Xen's emulation code, but it is far from comprehensive.
>>>
>>> ~Andrew
>> Thanks for all replies.
>> I tried x86_emulator on dom0 and SSE2 instructions seems ok:
> Sure. Which means you still didn't understand that you need to
> try with SSE instructions accessing MMIO where the emulation
> happens in qemu.
>
> Jan
>
I have understood that this test needs to be tried inside hvm domUs (as
I have posted in my previous mail):
> Same result on linux hvm domUs.
What I do not understand if is there is a test to accessing MMIO with
SEE2 on x86_emulator and if not, an alternate way to make this check.
Thanks for any reply.
next prev parent reply other threads:[~2013-11-22 13:51 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-21 10:52 Test if on newer xen all SSE2 and SSE3 instructions are effectively working Fabio Fantoni
2013-11-21 15:12 ` George Dunlap
2013-11-21 15:22 ` Andrew Cooper
2013-11-21 15:32 ` George Dunlap
2013-11-21 15:38 ` Andrew Cooper
2013-11-22 11:39 ` Jan Beulich
2013-11-22 12:14 ` Fabio Fantoni
2013-11-22 12:16 ` Jan Beulich
2013-11-22 13:51 ` Fabio Fantoni [this message]
2013-11-22 14:23 ` Jan Beulich
2013-11-22 14:37 ` George Dunlap
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=528F6176.9030709@m2r.biz \
--to=fabio.fantoni@m2r.biz \
--cc=JBeulich@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=eddie.dong@intel.com \
--cc=george.dunlap@eu.citrix.com \
--cc=jun.nakajima@intel.com \
--cc=xen-devel@lists.xensource.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.