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

Re: [Xen-devel] [PATCH 00/17][RFC] Nested virtualization for VMX



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@xxxxxxxxxxxxxxxxxxx
> 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


_______________________________________________
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®.