On Wed, 20 May 2009 05:03:01 pm Christian Bornträger wrote: > Am Mittwoch 20 Mai 2009 04:58:38 schrieb Rusty Russell: > > But what's it *for*, this shared memory? ... > z/VM uses these segments for several purposes: > o The monitoring subsystem uses a DCSS to get data from several components In KVM this probably doesn't require inter-guest access; presumably monitoring is done on the host. > o shared guest kernels: The CMS operating system is build as a bootable > DCSS (called named-saved-segments NSS). All guests have the same host pages > for the read-only parts of the CMS kernel. The local data is stored in > exclusive-write parts of the same NSS. Linux on System z is also capable of > using this feature (CONFIG_SHARED_KERNEL). The kernel linkage is changed in > a way to separate the read-only text segment from the other parts with > segment size alignment This is unlikely for x86 at least, and as you point out, not good for distributions either. > o execute-in-place: This is a Linux feature to exploit the DCSS technology. > The goal is to shared identical guest pages without the additional > overhead of KSM etc. We have a block device driver for DCSS. This block > device driver supports the direct_access function and therefore allows to > use the xip option of ext2. The idea is to put binaries into an read-only > ext2 filesystem. Whenever an mmap is made on this file system, the page is > not mapped into the page cache. The ptes point into the DCSS memory > instead. Since the DCSS is demand-paged by the host no memory is wasted for > unused parts of the binaries. In case of COW the page is copied as usual. > It turned out that installations with many similar guests (lets say 400 > guests) will profit in terms of memory saving and quicker application > startups (not the first guest of course). There is a downside: this > requires a skilled administrator to setup. We're better off doing opportunistic KSM in virtio_blk I'd say. Anyway, it's not really "inter-guest" in this sense; the host controls it, though it lets multiple guests read from it. > We have also experimented with network, Posix shared memory, and shared > caches via DCSS. Most of these ideas turned out to be not very useful or > hard to implement proper. Indeed, and this is what I suspect these patches are aiming for... Thanks, Rusty. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html