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

RE: [Xen-devel] [PATCH 18/18] Nested Virtualization: hap-on-hap



> On the down side, the terminology is quite confusing...

/me votes for meta-virtual to indicate a VM running in
a nest.  And meta-physical address to refer to a guest
physical address in a meta-virtual VM.


> -----Original Message-----
> From: Tim Deegan [mailto:Tim.Deegan@xxxxxxxxxx]
> Sent: Friday, April 16, 2010 10:10 AM
> To: Christoph Egger
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [Xen-devel] [PATCH 18/18] Nested Virtualization: hap-on-
> hap
> 
> Hi,
> 
> I'll start by saying that the overall design seems like a good one:
> keeping a selection of shadow p2m tables around that follow
> guest_p2m(host_p2m(l2gpa)), and updating them on demand.  I think it's
> good to start with a simple system like this one, though we might find
> that nested Xen performs poorly because of its tendency to discard
> ASIDs
> on every vcpu context switch.
> 
> On the down side, the terminology is quite confusing.  There are a few
> places where it's not clear what kind of cr3 value is meant, and I
> couldn't understand this patch at all until I saw this comment:
> 
> > +/* With nested virtualization gva == nested gpa, hence we use
> paddr_t
> > + * to not overflow. */
> 
> This is not right - the nested GPA is not a virtual address.  It's yet
> another fictional physical address.  Can you please find some better
> name for it?  At the moment you have functions called p2m_gva_to_gfn
> that don't take a GVA and don't return a GFN.
> 
> 
> Anyway, backing away from the detail of the code, I have some more
> general design questions:
> 
> - How does memory management work in general for the nested p2ms?
> - What happens if we run out of memory?
> 
> - What's the performance difference between shadow-on-HAP and HAP-on-
> HAP?
> - What's the difference if the nested hypervisor runs more than
>   MAX_NESTEDP2M VMs?
> - How was the figure for MAX_NESTEDP2M arrived at?
> 
> - What happens when the host changes the p2m table of the L1 guest?
>   Don't we need some sort of global flush of all the nested p2ms to
>   maintain isolation?  Or is it implicitly handled by existing TLB
>   shootdowns?
> 
> - You seem to have duplicated a lot of the existing p2m-building code
>   (type_to_flags, write_p2m_entry, next_level, &c).  Why is that?  I
>   thought the whole point of patches 4, 6 and 17 was so that the nested
>   p2ms could be handled with the same mechanism as normal p2ms?
> 
> Cheers,
> 
> Tim.
> 
> --
> Tim Deegan <Tim.Deegan@xxxxxxxxxx>
> Principal Software Engineer, XenServer Engineering
> Citrix Systems UK Ltd.  (Company #02937203, SL9 0BG)
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

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