Dave Hansen wrote:
> It also occurs to me that the hypervisor could be doing a lot of this
> internally.  This whole scheme is about telling the hypervisor about
> pages that we (the kernel) know we can regenerate.  The hypervisor
> should know a lot of that information, too.  We ask it to populate a
> page with stuff from virtual I/O devices or write a page out to those
> devices.  The page remains volatile until something from the guest
> writes to it.  The hypervisor could keep a record of how to recreate the
> page as long as it remains volatile and clean.
>   

That potentially pushes a lot of complexity elsewhere.  If you have 
multiple paths to a storage device, or a cluster store shared between 
multiple machines, then the underlying storage can change making the 
guest's copies of those blocks unbacked.  Obviously the host/hypervisor 
could deal with that, but it would be a pile of new mechanisms which 
don't necessarily exist (for example, it would have to be an active 
participant in a distributed locking scheme for a shared block device 
rather than just passing it all through to the guest to handle).

That said, people have been looking at tracking block IO to work out 
when it might be useful to try and share pages between guests under Xen.

    J
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/virtualization

Reply via email to