xen-devel
Re: [Xen-devel] Re: Xen: Hybrid extension patchset for hypervisor
To: |
Jeremy Fitzhardinge <jeremy@xxxxxxxx> |
Subject: |
Re: [Xen-devel] Re: Xen: Hybrid extension patchset for hypervisor |
From: |
Ian Campbell <Ian.Campbell@xxxxxxxxxx> |
Date: |
Wed, 16 Sep 2009 22:12:51 +0100 |
Cc: |
"xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "Yang, Sheng" <sheng.yang@xxxxxxxxx>, "Dong, Eddie" <eddie.dong@xxxxxxxxx>, Fraser <Keir.Fraser@xxxxxxxxxxxxx>, "Nakajima, Jun" <jun.nakajima@xxxxxxxxx>, Keir |
Delivery-date: |
Wed, 16 Sep 2009 14:13:18 -0700 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
In-reply-to: |
<4AB12C1F.9080502@xxxxxxxx> |
List-help: |
<mailto:xen-devel-request@lists.xensource.com?subject=help> |
List-id: |
Xen developer discussion <xen-devel.lists.xensource.com> |
List-post: |
<mailto:xen-devel@lists.xensource.com> |
List-subscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |
List-unsubscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |
Organization: |
Citrix Systems, Inc. |
References: |
<C6D66994.14D6A%keir.fraser@xxxxxxxxxxxxx> <C6D6AEEA.14EBF%keir.fraser@xxxxxxxxxxxxx> <0B53E02A2965CE4F9ADB38B34501A3A1940C78A8@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <4AB12C1F.9080502@xxxxxxxx> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
On Wed, 2009-09-16 at 19:19 +0100, Jeremy Fitzhardinge wrote:
> On 09/16/09 09:28, Nakajima, Jun wrote:
> > Keir Fraser wrote on Wed, 16 Sep 2009 at 07:04:10:
> >
> >> By the way, if your intention is to speed up 64-bit guest performance,
> >> then I think you should compare with running a full PV guest in a VMCS
> >> container. That is runs in VMX non-root mode but still retains the usual
> >> full-PV interfaces. I think that would be no more code than you are
> >> proposing here, and would avoid scattering a bunch more code around the
> >> guest OS, to which there is bound to be resistance.
> >>
> > Do you mean running the existing 64-bit PV kernel binaries in a VMCS
> > container?
> >
>
> Yes. I don't think there's any deep problem in doing that.
>
> > 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...
>
> > - use hardware-based MMU virtualization (e.g. EPT-based) if present
> >
>
> 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.
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] Re: Xen: Hybrid extension patchset for hypervisor, Keir Fraser
- [Xen-devel] Re: Xen: Hybrid extension patchset for hypervisor, Keir Fraser
- [Xen-devel] RE: Xen: Hybrid extension patchset for hypervisor, Nakajima, Jun
- [Xen-devel] Re: Xen: Hybrid extension patchset for hypervisor, Jeremy Fitzhardinge
- Re: [Xen-devel] Re: Xen: Hybrid extension patchset for hypervisor,
Ian Campbell <=
- Re: [Xen-devel] Re: Xen: Hybrid extension patchset for hypervisor, Jeremy Fitzhardinge
- Re: [Xen-devel] Re: Xen: Hybrid extension patchset for hypervisor, Ian Campbell
- RE: [Xen-devel] Re: Xen: Hybrid extension patchset for hypervisor, Nakajima, Jun
- Re: [Xen-devel] Re: Xen: Hybrid extension patchset for hypervisor, Jeremy Fitzhardinge
- RE: [Xen-devel] Re: Xen: Hybrid extension patchset for hypervisor, Nakajima, Jun
- Re: [Xen-devel] Re: Xen: Hybrid extension patchset for hypervisor, Jeremy Fitzhardinge
- Re: [Xen-devel] Re: Xen: Hybrid extension patchset for hypervisor, Jeremy Fitzhardinge
Re: [Xen-devel] Re: Xen: Hybrid extension patchset for hypervisor, Frank van der Linden
|
|
|