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

Re: [Xen-devel] [semi-urgent Xen CS question] Re: git commit 9fd67b4ed0714ab718f1f9bd14c344af336a6df7 (x86-64: Give vvars their own page) breaks Xen PV guests (64-bit).

On Wed, Jul 27, 2011 at 1:19 PM, Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:
> On 07/27/2011 09:02 AM, Andrew Lutomirski wrote:
>> My current patch adds a field to pv_info.  I agree it's ugly.
> Hm, that's not so bad as actually adding a new op though.
>> How terrible would it be to stop using VCGF_in_syscall so we can keep
>> __USER_CS?  Is there a real performance advantage to VCGF_in_syscall?
> I don't know.  64-bit PV guests are already pretty horrid because of all
> the pagetable switching, so it may be that iret vs sysret disappears in
> the wash.  It's certainly a cleaner fix, but I would want to measure it
> before committing to it.

On Sandy Bridge, a null vsyscall takes 373 ns.  Without
VCGF_in_syscall, it's 457 ns.  The change causes my little test app to
get cs == __USER_CS.

I suspect that Sandy Bridge is just about the worst case.  syscall and
sysret are amazingly fast on Sandy Bridge.


>    J

Xen-devel mailing list



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