From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: Sharing physical pages between virtual machines Date: Tue, 29 May 2012 19:50:48 +0300 Message-ID: <4FC4FE68.9000108@redhat.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: Ben Shelton Return-path: Received: from mx1.redhat.com ([209.132.183.28]:62869 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754469Ab2E2Quv (ORCPT ); Tue, 29 May 2012 12:50:51 -0400 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On 05/29/2012 07:07 PM, Ben Shelton wrote: > Hi all, > > I work in the Real-Time Systems Lab at Virginia Tech. We're looking at building a new OS design where multiple guest OS's run on the same machine and can communicate with each other by passing messages through shared memory regions (similar to Barrelfish, if you've seen that), and we'd like to implement it using KVM. > > We've looked at the Nahanni project, which provides a shared memory window for KVM guests via POSIX shared memory and an emulated PCI device, but the overhead would be too high for what we would like to do. We'd like the guests to be able to write to, and to poll on, actual physical pages in memory. > > It would seem that one could simply use EPT to map the same physical page into the guest physical address spaces of multiple virtual machines. Would this be something that would be possible to do, given the way KVM dynamically maps physical pages to guests as needed? If not, would there be a better way to go about it? > That is what Nahanni does. After the initial page fault everything happens at memory/cache speeds. -- error compiling committee.c: too many arguments to function