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<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