WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: "Nakajima, Jun" <jun.nakajima@xxxxxxxxx>
Subject: Re: [Xen-devel] Re: Xen: Hybrid extension patchset for hypervisor
From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Date: Thu, 17 Sep 2009 10:34:51 -0700
Cc: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>, "Yang, Sheng" <sheng.yang@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "Dong, Eddie" <eddie.dong@xxxxxxxxx>, Keir Fraser <Keir.Fraser@xxxxxxxxxxxxx>
Delivery-date: Thu, 17 Sep 2009 10:35:17 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <0B53E02A2965CE4F9ADB38B34501A3A1940C840B@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
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>
References: <C6D66994.14D6A%keir.fraser@xxxxxxxxxxxxx> <C6D6AEEA.14EBF%keir.fraser@xxxxxxxxxxxxx> <0B53E02A2965CE4F9ADB38B34501A3A1940C78A8@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <4AB12C1F.9080502@xxxxxxxx> <1253135571.3896.4873.camel@xxxxxxxxxxxxxxxxxxxxx> <4AB15707.20305@xxxxxxxx> <1253178985.16152.26.camel@xxxxxxxxxxxxxxxxxxxxxx> <0B53E02A2965CE4F9ADB38B34501A3A1940C840B@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090814 Fedora/3.0-2.6.b3.fc11 Lightning/1.0pre Thunderbird/3.0b3
On 09/17/09 08:56, Nakajima, Jun wrote:
>> I very much expect that it'll need fixing/(re)implementing on both the
>> kernel and hypervisor side...
>>     
> To me, leveraging the native MMU code, rather than using existing API/ABI, 
> would simplify both the guest and hypervisor side if hardware MMU 
> virtualization is present. For example:
> - today a 64-bit PV guest builds/switches page tables depending on the 
> kernel/user mode. It's not required anymore.
>   
The two pagetables are largely shared, so it really comes down to
maintaining an additional L4 page.  If the domain is running in a HAP
container, then then the "kernel" pagetable would have proper U/S bit
its pagetable entries (ie, Xen wouldn't strip them off, or set global on
user mappings) and then loading a new pagetable would just mean
reloading cr3 with the kernel pagetable.  In other words, we can still
do an efficient pagetable swap without needing to change the guest or
the ABI at all; the user pagetable would be unused and ignored, but that
isn't a huge burden.

> - we can automatically get large page support (2MB, 1GB)
>   
Once the requirement to mark pagetable pages RO goes away, then it would
be easy to add large-page support.

> I thought pv_xxx_ps (such as pv_time, pv_cpu_ops, pv_mmu_ops, etc.) was 
> designed to choose the right pv_ops accordingly depending on the features 
> available. 
>   

Sure.  It would be easy to either use new special-purpose just plain
native versions of those ops if that's the right thing to do; but it
would be nice if a current unmodified PV guest worked within a HVM
container and got at least some benefit from doing so.  Also, pagetable
issues have repercussions beyond just the raw pagetable update functions.

Of course you can get both these features just by booting the kernel as
an hvm guest.  But if we're talking about giving PV kernels some
benefits from hvm/hap hardware features, I think we should looking at it
from the perspective of starting with a PV kernel then adding
incremental changes.

    J

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>