On Tue, Mar 17, 2015 at 11:45 PM, Andrew Warkentin <andreww...@gmail.com> wrote: > On 3/17/15, George Dunlap <george.dun...@eu.citrix.com> wrote: >> Any deduplication code would run in as a process probably in domain 0, >> and may be somewhat slow; but the actual mechanism of sharing is a >> generic mechanism in the hypervisor which any client can use. Jan is >> suggesting that you might be able to use that interface to >> pro-actively tell Xen about the memory pages shared between your >> various domains. >> > > I wasn't quite sure if it's generic enough to use to implement shared > segments, or if it were specific to deduplication at the hypervisor > level.
I haven't used the shared memory interface myself, but we designed it I'm pretty sure that was the intention. An idea was discussed, for instance, was that scanning random pages for duplicates has turned out to actually be not much benefit for VMWare; but that a more promising avenue might be hooking into the block layer, so that if VM A and VM B have disks that share an image base, and block X is shared, that if VM A reads block X and then VM B reads block X, instead of issuing a second DMA into VM B's memory, the disk layer can just tell Xen, "please share this page copy-on-write between VM A and VM B". Remember also that Jan was recommending this method for sharing read-only shared data and executable segments, not for areas for communication (i.e.., where both are going to want to write to the memory and have the other side see the updates). For that you've got to go with grant tables. Anyway, I think it's worth looking into. -George _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel