From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=60468 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OOBzN-00085z-5L for qemu-devel@nongnu.org; Mon, 14 Jun 2010 11:54:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OOBzI-00051Y-Uc for qemu-devel@nongnu.org; Mon, 14 Jun 2010 11:54:17 -0400 Received: from mail-gx0-f173.google.com ([209.85.161.173]:34286) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OOBzI-000513-S7 for qemu-devel@nongnu.org; Mon, 14 Jun 2010 11:54:12 -0400 Received: by gxk7 with SMTP id 7so843205gxk.4 for ; Mon, 14 Jun 2010 08:54:12 -0700 (PDT) Message-ID: <4C1650A2.1000202@codemonkey.ws> Date: Mon, 14 Jun 2010 10:54:10 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: [PATCH v6 0/6] Inter-VM Shared Memory Device with migration support References: <1275687942-12312-1-git-send-email-cam@cs.ualberta.ca> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Cam Macdonell Cc: Blue Swirl , qemu-devel@nongnu.org, KVM General On 06/11/2010 05:03 PM, Cam Macdonell wrote: > Hi Anthony, > > Is my implementation of master/peer roles acceptable? Yes, it looks good. > I realize with > Alex's RAMList changes I may need to modify my patch, but is the > approach of marking memory non-migratable an acceptable > implementation? > Please make sure to address some of the CODING_STYLE comments too. Regards, Anthony Liguori > Thanks, > Cam > > On Fri, Jun 4, 2010 at 3:45 PM, Cam Macdonell wrote: > >> Latest patch for PCI shared memory device that maps a host shared memory object >> to be shared between guests >> >> new in this series >> - migration support with 'master' and 'peer' roles for guest to determine >> who "owns" memory. With 'master', the guest has the canonical copy of >> the shared memory and will copy it with it on migration. With 'role=peer', >> the guest will not copy the shared memory, but attach to what is on the >> destination machine. >> - modified phys_ram_dirty array for marking memory as not to be migrated >> - add support for non-migrated memory regions >> >> v5: >> - fixed segfault for non-server case >> - code style fixes >> - removed limit on the number of guests >> - shared memory server is now in qemu.git/contrib >> - made ioeventfd setup function generic >> - removed interrupts when guest joined (let application handle it) >> >> v4: >> - moved to single Doorbell register and use datamatch to trigger different >> VMs rather than one register per eventfd >> - remove writing arbitrary values to eventfds. Only values of 1 are now >> written to ensure correct usage >> >> Cam Macdonell (6): >> Device specification for shared memory PCI device >> Adds two new functions for assigning ioeventfd and irqfds. >> Change phys_ram_dirty to phys_ram_status >> Add support for marking memory to not be migrated. On migration, >> memory is checked for the NO_MIGRATION_FLAG. >> Inter-VM shared memory PCI device >> the stand-alone shared memory server for inter-VM shared memory >> >> Makefile.target | 3 + >> arch_init.c | 28 +- >> contrib/ivshmem-server/Makefile | 16 + >> contrib/ivshmem-server/README | 30 ++ >> contrib/ivshmem-server/ivshmem_server.c | 353 +++++++++++++ >> contrib/ivshmem-server/send_scm.c | 208 ++++++++ >> contrib/ivshmem-server/send_scm.h | 19 + >> cpu-all.h | 18 +- >> cpu-common.h | 2 + >> docs/specs/ivshmem_device_spec.txt | 96 ++++ >> exec.c | 48 ++- >> hw/ivshmem.c | 852 +++++++++++++++++++++++++++++++ >> kvm-all.c | 32 ++ >> kvm.h | 1 + >> qemu-char.c | 6 + >> qemu-char.h | 3 + >> qemu-doc.texi | 32 ++ >> 17 files changed, 1710 insertions(+), 37 deletions(-) >> create mode 100644 contrib/ivshmem-server/Makefile >> create mode 100644 contrib/ivshmem-server/README >> create mode 100644 contrib/ivshmem-server/ivshmem_server.c >> create mode 100644 contrib/ivshmem-server/send_scm.c >> create mode 100644 contrib/ivshmem-server/send_scm.h >> create mode 100644 docs/specs/ivshmem_device_spec.txt >> create mode 100644 hw/ivshmem.c >> >> >> > >