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] 2MB page PV guest support clarification

To: Mick.Jordan@xxxxxxx
Subject: Re: [Xen-devel] 2MB page PV guest support clarification
From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Date: Fri, 27 Feb 2009 15:28:15 -0800
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 27 Feb 2009 15:28:41 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <49A870E6.8050300@xxxxxxx>
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: <49A870E6.8050300@xxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.19 (X11/20090105)
Mick Jordan wrote:
I was inspired by the talk from Ben Serebrin at this weeks' summit to investigate using 2MB pages in my Java VM on Xen for x86-64.

I think I have done everything correctly, but Xen (3.1.4) rejects my attempt to set the PSE bit in the L2 frame for the 2MB page. Looking at the Xen code the L2_DISALLOW_MASK (0xFF800180U) simply rejects the update if the PSE bit is set.

Yes. Xen doesn't support large mappings for PV guests. However, there's a lot less to worry about for PV guests compared to hvm guests. A PV guest directly uses the CPU's pagetable+tlb hardware, and so a tlb miss results in a single simple walk of the pagetable, and the overall tlb pressure is a lot less. The desire to use large pages for hvm guests is driven by the cost of a tlb miss when you have 4k guest pages layered on 4k host pages, resulting in 24 memory accesses in the worst case; a PV tlb miss is no more expensive than a native tlb miss by comparison.

Large pages could potentially reduce the cost of a PV tlb miss as well, but also pose quite a few tradeoffs. You can't generally use large mappings for the kernel, as you can native, because of all the pages which need RO mappings (pagetables, gdt, etc). Also, IO and the balloon driver operate at 4k page resolution, so breaking a contiguous 2M page would require the mapping to be shattered.

I found some posts from quite a while ago on xen-devel discussing patches to allow large pages, so my question is for clarification on the status of this feature. I.e., is it in any stable release and if so what version?

Its a work in progress, but there's nothing usable yet, as far as I know.

   J

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