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

Re: [Xen-devel] Re: Xen: Hybrid extension patchset for hypervisor



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


 


Rackspace

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