[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v6 0/6] Inter-VM Shared Memory Device with migration
From: |
Cam Macdonell |
Subject: |
[Qemu-devel] [PATCH v6 0/6] Inter-VM Shared Memory Device with migration support |
Date: |
Fri, 4 Jun 2010 15:45:36 -0600 |
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
- [Qemu-devel] [PATCH v6 0/6] Inter-VM Shared Memory Device with migration support,
Cam Macdonell <=
- [Qemu-devel] [PATCH v6 1/6] Device specification for shared memory PCI device, Cam Macdonell, 2010/06/04
- [Qemu-devel] [PATCH v6 2/6] Add function to assign ioeventfd to MMIO., Cam Macdonell, 2010/06/04
- [Qemu-devel] [PATCH v6 3/6] Change phys_ram_dirty to phys_ram_status, Cam Macdonell, 2010/06/04
- [Qemu-devel] [PATCH v6 4/6] Add support for marking memory to not be migrated. On migration, memory is checked for the NO_MIGRATION_FLAG., Cam Macdonell, 2010/06/04
- [Qemu-devel] [PATCH v6 5/6] Inter-VM shared memory PCI device, Cam Macdonell, 2010/06/04
- [Qemu-devel] [PATCH v6 6/6] the stand-alone shared memory server for inter-VM shared memory, Cam Macdonell, 2010/06/04
- [Qemu-devel] [PATCH v6] Shared memory uio_pci driver, Cam Macdonell, 2010/06/04
- Re: [Qemu-devel] [PATCH v6 6/6] the stand-alone shared memory server for inter-VM shared memory, Anthony Liguori, 2010/06/14
- Re: [Qemu-devel] [PATCH v6 6/6] the stand-alone shared memory server for inter-VM shared memory, Cam Macdonell, 2010/06/14
- Re: [Qemu-devel] [PATCH v6 6/6] the stand-alone shared memory server for inter-VM shared memory, Avi Kivity, 2010/06/23