From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rusty Russell Subject: Re: [kvm-devel] [RFC PATCH 1/5] lguest: mmap backing file Date: Fri, 21 Mar 2008 09:12:24 +1100 Message-ID: <200803210912.25648.rusty@rustcorp.com.au> References: <200803201659.14344.rusty@rustcorp.com.au> <200803201705.44422.rusty@rustcorp.com.au> <47E26EE1.5030706@codemonkey.ws> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel , lguest , virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Anthony Liguori Return-path: In-Reply-To: <47E26EE1.5030706-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org> Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: lguest-bounces+glkvl-lguest=m.gmane.org-mnsaURCQ41sdnm+yROfE0A@public.gmane.org Errors-To: lguest-bounces+glkvl-lguest=m.gmane.org-mnsaURCQ41sdnm+yROfE0A@public.gmane.org List-Id: kvm.vger.kernel.org On Friday 21 March 2008 01:04:17 Anthony Liguori wrote: > Rusty Russell wrote: > > From: Paul TBBle Hampson > > > > This creates a file in $HOME/.lguest/ to directly back the RAM and DMA > > memory mappings created by map_zeroed_pages. > > I created a test program recently that measured the latency of a > reads/writes to an mmap() file in /dev/shm and in a normal filesystem. > Even after unlinking the underlying file, the write latency was much > better with a mmap()'d file in /dev/shm. How odd! Do you have any idea why? > /dev/shm is not really for general use. I think we'll want to have our > own tmpfs mount that we use to create VM images. If we're going to mod the kernel, how about a "mmap this part of their address space" and having the kernel keep the mappings in sync. But I think that if we want to get speed, we should probably be doing the copy between address spaces in-kernel so we can do lightweight exits. > I also prefer to use a > unix socket for communication, unlink the file immediately after open, > and then pass the fd via SCM_RIGHTS to the other process. Yeah, I shied away from that because cred passing kills whole litters of puppies. It makes for better encapsulation tho, so I'd do it that way in a serious implementation. Cheers, Rusty.