From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "Yang, Sheng" <sheng.yang@intel.com>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
"Dong, Eddie" <eddie.dong@intel.com>,
Keir Fraser <Keir.Fraser@eu.citrix.com>,
"Nakajima, Jun" <jun.nakajima@intel.com>
Subject: Re: Re: Xen: Hybrid extension patchset for hypervisor
Date: Wed, 16 Sep 2009 14:22:15 -0700 [thread overview]
Message-ID: <4AB15707.20305@goop.org> (raw)
In-Reply-To: <1253135571.3896.4873.camel@localhost.localdomain>
On 09/16/09 14:12, Ian Campbell wrote:
>>> Based on our data, what we would want in PV 64-bit guests are, fundamentally:
>>> - have the kernel run in ring 0 (so that it can regain the performance enhancements)
>>>
>>>
>> That's no problem. PV kernels don't currently assume they're running in
>> any particular ring, so they'd be happy to run in ring 0 if that's how
>> they're started (if there are problems, I'd consider that a bug). We
>> could then check for ring 0 and enable syscall/sysenter.
>>
> XENFEAT_supervisor_mode_kernel is supposed to enable this behaviour,
> although it hasn't been actively used for several years and never in the
> pvops kernel so you can bet it has bit-rotted...
>
That tends to have a slightly different meaning, viz "dom0 really *is*
privileged and can do anything it feels like". It isn't necessary to
have a specific feature/mechanism for "kernel happens to be in ring 0";
it can look at its own cs ring number.
>> We could do that with minimal API/ABI changes by:
>>
>> * Providing an identity p2m table
>> * Changing the hypercall page to make pte writes simple memory
>> writes (no hypercalls); xen would still keep track of pinned pages
>> and trap'n'emulate on them for back-compatibility (but fast-path
>> with no validation). We could expose the presence of HAP via
>> xen_features so that guests know they can avoid marking pagetables
>> RO, etc.
>> * Similarly, cr3 changes can be fast-pathed within the hypercall page.
>> * Whatever else I've overlooked.
>>
> Some combination of XENFEAT_writable_page_tables
> XENFEAT_writable_descriptor_tables and XENFEAT_auto_translated_physmap
> might be of interest for this bit.
Making use of XENFEAT_auto_translated_physmap would avoid the need for
identity p2m/m2p tables, but I'm not sure whether it still works. I got
close to completely removing all references to it at one point, but I
think ia64 uses it?
next prev parent reply other threads:[~2009-09-16 21:22 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-16 8:44 Xen: Hybrid extension patchset for hypervisor Yang, Sheng
2009-09-16 9:08 ` Keir Fraser
2009-09-16 14:04 ` Keir Fraser
2009-09-16 16:28 ` Nakajima, Jun
2009-09-16 18:19 ` Jeremy Fitzhardinge
2009-09-16 21:12 ` Ian Campbell
2009-09-16 21:22 ` Jeremy Fitzhardinge [this message]
2009-09-17 9:16 ` Ian Campbell
2009-09-17 15:56 ` Nakajima, Jun
2009-09-17 17:34 ` Jeremy Fitzhardinge
2009-09-19 0:17 ` Nakajima, Jun
2009-09-19 0:28 ` Jeremy Fitzhardinge
2009-09-17 17:19 ` Jeremy Fitzhardinge
2009-09-16 19:11 ` Frank van der Linden
2009-09-17 6:13 ` Yang, Sheng
2009-09-17 6:25 ` Keir Fraser
2009-09-17 6:30 ` Sheng Yang
2009-09-17 6:47 ` Yang, Sheng
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=4AB15707.20305@goop.org \
--to=jeremy@goop.org \
--cc=Ian.Campbell@citrix.com \
--cc=Keir.Fraser@eu.citrix.com \
--cc=eddie.dong@intel.com \
--cc=jun.nakajima@intel.com \
--cc=sheng.yang@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.