Hi Anthony, Is my implementation of master/peer roles acceptable? 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? Thanks, Cam On Fri, Jun 4, 2010 at 3:45 PM, Cam Macdonell <cam@xxxxxxxxxxxxxx> 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 > > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html