Re: [PATCH v2] Driver for Inter-VM shared memory device for KVM supporting interrupts.

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

 



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

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux