From: Andrew Cooper <andrew.cooper3@citrix.com>
To: George Dunlap <george.dunlap@eu.citrix.com>
Cc: "Nakajima, Jun" <jun.nakajima@intel.com>,
Fabio Fantoni <fabio.fantoni@m2r.biz>,
"Dong, Eddie" <eddie.dong@intel.com>,
xen-devel <xen-devel@lists.xensource.com>,
Jan Beulich <JBeulich@suse.com>
Subject: Re: Test if on newer xen all SSE2 and SSE3 instructions are effectively working
Date: Thu, 21 Nov 2013 15:38:57 +0000 [thread overview]
Message-ID: <528E2911.1040002@citrix.com> (raw)
In-Reply-To: <528E278D.4020102@eu.citrix.com>
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
next prev parent reply other threads:[~2013-11-21 15:38 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 [this message]
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
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=528E2911.1040002@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=JBeulich@suse.com \
--cc=eddie.dong@intel.com \
--cc=fabio.fantoni@m2r.biz \
--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.