public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Carsten Otte <cotte-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
To: Izik Eidus <izike-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
	Francesco Cipollone
	<francesco.cipo-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: somthing new for shared memory???
Date: Fri, 26 Oct 2007 11:02:54 +0200	[thread overview]
Message-ID: <4721AD3E.7020000@de.ibm.com> (raw)
In-Reply-To: <47210497.1080306-atKUWr5tajBWk0Htik3J/w@public.gmane.org>

Izik Eidus wrote:
> beside moving the memory allocation to userspace (this is first step in 
> share memory between VMs using smart file system)
> there is not much advance.
> 
> about sharing memory between VM and host, we improved it by adding 
> partial swapping support,
> so the host can take memory from the guest in demand.
Oooh shared memory :-), my old passion before I started on kvm.
We've put a very nice infrastructure for that into the kernel which I 
would like to advertise here: We have arch/s390/mm/extmem.c, which 
implements primitives like segment_load, segment_unload etc. Sysfs 
attributes, and a kernel parameter are used to configure what segments 
are to be used.
On top of that, we have drivers/s390/dcssblk.c, a block driver for 
shared memory segments that provides an extra block device operation 
direct_access() which hands out a page pointer to a specific disk block.
Furthermore, we modified the memory management (mm/filemap_xip.c) and 
the ext2 file system (fs/ext2/xip.c) to support a new address space 
operation get_xip_page(), which is used by ext2 to fullfill all file 
operations.
The beauty of this solution comes with the execute in place effect. 
Binary executable files and libraries (glibc is a very good candidate) 
can be used by multiple user programs on multiple guests, while being 
present in host memory only once. For that, ext2 needs to be mounted 
read only on a shared memory segment with -o xip. And target binaries 
and libraries need to be installed on that file system. The rest is 
transparent to userland.
We also played with writable shared memory between user programs on 
different guests, but did'nt find a good use for that. A prototype 
2.6. driver that provides it on top of extmem.c segment_* functions 
can be found here:
http://www.ussg.iu.edu/hypermail/linux/kernel/0412.3/0617.html

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/

      parent reply	other threads:[~2007-10-26  9:02 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-25 18:15 somthing new for shared memory??? Francesco Cipollone
     [not found] ` <d269bda00710251115u5143b257s15c804efc295b08e-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-10-25 21:03   ` Izik Eidus
     [not found]     ` <47210497.1080306-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-10-26  9:02       ` Carsten Otte [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4721AD3E.7020000@de.ibm.com \
    --to=cotte-ta70fqpds9bqt0dzr+alfa@public.gmane.org \
    --cc=carsteno-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org \
    --cc=francesco.cipo-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=izike-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox