From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Egger Subject: Re: [PATCH 00/17][RFC] Nested virtualization for VMX Date: Thu, 22 Apr 2010 12:15:47 +0200 Message-ID: <201004221215.47395.Christoph.Egger@amd.com> References: <1271929289-18572-1-git-send-email-qing.he@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1271929289-18572-1-git-send-email-qing.he@intel.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Qing He List-Id: xen-devel@lists.xenproject.org On Thursday 22 April 2010 11:41:12 Qing He wrote: > This patch set enables nested virtualization for VMX, That > is to allow a VMX guest (L1) to run other VMX guests (L2). > > The patch can generally run on different configurations: > - EPT-on-EPT, shadow-on-EPT, shadow-on-shadow > - different 32/64 combination of L1 and L2 > - L1/L2 SMP > > EPT-on-EPT is however, preferrable due to performance > advantage, I've tested the patch on a 64bit NHM L0, > against Xen cs. 21190. With EPT-on-EPT and a a kernel > build workload, L2 needs around 17% more time to complete. > > > Known problems: > - L1/L2=64/64, shadow-on-shadow doesn't work as for now > - On 21190, even without nested patchset, Xen as L1 > suffers a considerable booting lag, this phenomenon > was not observed on my previous base, around cs. > 20200 I can reproduce this bug as well. Last known working c/s is 20382 and known broken c/s is 20390. Potential candidates are c/s 20384, 20386, 20389 and 20390 which introduced the bug. I wasn't able to verify c/s 20384, 20386 and 20389 due to build or boot problems. > - multiple L2 in one L1 hasn't been tested I can run Windows 7 and NetBSD with hap-on-hap and with shadow-on-hap simultanously. Thanks to Tim's review I found and fixed some bugs. I have Window 7 XP mode working. I will resend my nested virtualization patchset with the fixes soon. Do you also have a paper how your patchset works ? > > > The patch list is as below, it contains 3 preparation > patches (01 -- 03), 11 generic patches (04 -- 14), 1 to > enable EPT-on-EPT (15), and 2 support patches (16, 17). > > [PATCH 01/17] vmx: nest: fix CR4.VME in update_guest_cr > [PATCH 02/17] vmx: nest: rename host_vmcs > [PATCH 03/17] vmx: nest: wrapper for control update > [PATCH 04/17] vmx: nest: domain and vcpu flags > [PATCH 05/17] vmx: nest: nested control structure > [PATCH 06/17] vmx: nest: virtual vmcs layout > [PATCH 07/17] vmx: nest: handling VMX instruction exits > [PATCH 08/17] vmx: nest: L1 <-> L2 context switch > [PATCH 09/17] vmx: nest: interrupt > [PATCH 10/17] vmx: nest: VMExit handler in L2 > [PATCH 11/17] vmx: nest: L2 tsc > [PATCH 12/17] vmx: nest: CR0.TS and #NM > [PATCH 13/17] vmx: nest: capability reporting MSRs > [PATCH 14/17] vmx: nest: enable virtual VMX > [PATCH 15/17] vmx: nest: virtual ept for nested > [PATCH 16/17] vmx: nest: hvmtrace for nested > [PATCH 17/17] tools: nest: allow enabling nesting > > Thanks, > Qing He > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel -- ---to satisfy European Law for business letters: Advanced Micro Devices GmbH Karl-Hammerschmidt-Str. 34, 85609 Dornach b. Muenchen Geschaeftsfuehrer: Andrew Bowd, Thomas M. McCoy, Giuliano Meroni Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632