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/
Home Products Support Community News


Re: [Xen-devel] [PATCH] Allow PV superpages to work with live migration

To: Dave McCracken <dcm@xxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Allow PV superpages to work with live migration
From: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Date: Tue, 18 May 2010 15:32:05 +0100
Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>, Xen Developers List <xen-devel@xxxxxxxxxxxxxxxxxxx>, Keir Fraser <Keir.Fraser@xxxxxxxxxxxxx>
Delivery-date: Tue, 18 May 2010 07:32:57 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <201005180920.18349.dcm@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>
References: <201005171410.47235.dcm@xxxxxxxx> <20100518123553.GG4164@xxxxxxxxxxxxxxxxxxxxxxx> <201005180920.18349.dcm@xxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.18 (2008-05-17)
At 15:20 +0100 on 18 May (1274196018), Dave McCracken wrote:
> On Tuesday, May 18, 2010, Tim Deegan wrote:
> > It rather overshoots. :)  This enables PSE even for HVM guests which
> > have explicitly disabled it.   I think you want
> > 
> >     return (is_hvm_vcpu(v) ? (GUEST_PAGING_LEVELS != 2
> >                               || !hvm_paging_enabled(v)
> >                               || (v->arch.hvm_vcpu.guest_cr[4] &
> > X86_CR4_PSE)) : opt_allow_hugepage);
> I'm confused.  As far as I know, opt_allow_hugeage only affects PV guests.  
> All 
> I did in the macro was add a test for it.  I didn't touch any of the HVM 
> logic.  Are you saying the HVM logic is wrong or that opt_allow_hugepage 
> affects HVM guests in some fashion?

It would affect them after your change:

+    return (opt_allow_hugepage ||
+           (is_hvm_vcpu(v) &&
+            (GUEST_PAGING_LEVELS != 2
+             || !hvm_paging_enabled(v)
+             || (v->arch.hvm_vcpu.guest_cr[4] & X86_CR4_PSE))));

This makes the whole predicate true _even_for_hvm_guests_ whenever
opt_allow_hugepage is true.  It should not be true for HVM guests that
have disabled PSE, regardless of the setting of opt_allow_hugepage.



Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Principal Software Engineer, XenServer Engineering
Citrix Systems UK Ltd.  (Company #02937203, SL9 0BG)

Xen-devel mailing list