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

Re: [Xen-devel] [RFC PATCH 0/3] xen/privcmd: support for paged-out frames



On Aug 23, 2012, at 1:13 PM, David Vrabel wrote:

> This series is a straight forward-port of some functionality from
> classic kernels to support Xen hosts that do paging of guests.
> 
> This isn't functionality the XenServer makes use of so I've not tested
> these with paging in use (GridCentric requested that our older kernels
> supported this and I'm just doing the forward port).

Thanks for this series. Very timely. I may add that we are not the only 
consumers of paging. This functionality was first added into classic kernels by 
Olaf Hering from Suse (added to cc).

> 
> I'm not entirely happy about the approach used here because:
> 
> 1. It relies on the meaning of the return code of the update_mmu
> hypercall and it assumes the value Xen used for -ENOENT is the same
> the kernel uses. This does not appear to be a formal part of the
> hypercall ABI.
> 
> Keir, can you comment on this?

I see your point. I may add that it's likely to be more pervasive than just 
relying on ENOENT being 12. Which is a fairly safe bet.

> 
> 2. It seems more sensible to have the kernel do the retries instead of
> libxc doing them.  The kernel has to have a mechanism for this any way
> (for mapping back/front rings).
> 
> 3. The current way of handling paged-out frames by repeatedly retrying
> is a bit lame.  Shouldn't there be some event that the guest waiting
> for the frame can wait on instead?  By moving the retry mechanism into
> the kernel we can change this without impacting the ABI to userspace.

Lame is an interesting choice of language :)

I am not a huge fan of libxc retry, but we've been pounding it quite hard for a 
while and it works -- and, importantly, it yields the scheduler :)

While kernel retry may benefit from hypothetical code reuse, "Shouldn't there 
be some event that the guest waiting for the frame can wait on instead?" will 
need to become concrete to start a real discussion.

For better or worse, since xen-4.1 (!) libxc will do the right thing if fed the 
appropriate errno.

Let me re-iterate that this is great work. Thanks
Andres

> 
> David
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.