From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [Qemu-devel] Re: [PATCH v6 0/6] Inter-VM Shared Memory Device with migration support Date: Mon, 14 Jun 2010 10:54:10 -0500 Message-ID: <4C1650A2.1000202@codemonkey.ws> References: <1275687942-12312-1-git-send-email-cam@cs.ualberta.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: qemu-devel@nongnu.org, Blue Swirl , KVM General To: Cam Macdonell Return-path: Received: from mail-gw0-f46.google.com ([74.125.83.46]:51202 "EHLO mail-gw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752041Ab0FNPyM (ORCPT ); Mon, 14 Jun 2010 11:54:12 -0400 Received: by gwj15 with SMTP id 15so2517237gwj.19 for ; Mon, 14 Jun 2010 08:54:12 -0700 (PDT) In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: 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 >> >> >> > >