qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 00/10] Remove RDMA migration dependence on RAMBlock


From: Dr. David Alan Gilbert (git)
Subject: [Qemu-devel] [PATCH 00/10] Remove RDMA migration dependence on RAMBlock offset
Date: Mon, 20 Apr 2015 16:57:15 +0100

From: "Dr. David Alan Gilbert" <address@hidden>

RDMA migration currently relies on the source and destination RAMBlocks
having the same offsets within ram_addr_t space;  unfortunately that's
just not true when:
   a) You hotplug on the source but then create the device on the command line
     on the destination.

   b) Across two versions of qemu

Thus there are migrations that work with TCP that don't with RDMA.

The changes keep stream compatibility with existing RDMA migration,
so cases that already work (i.e. no hotplug) will keep working.

With some light testing this seems to work; hopefully I've got all the
cases that pass offsets back and forward.

Dave

Dr. David Alan Gilbert (10):
  Rename RDMA structures to make destination clear
  qemu_ram_foreach_block: pass up error value, and down the ramblock
    name
  Store block name in local blocks structure
  Translate offsets to destination address space
  Rework ram_control_load_hook to hook during block load
  Remove unneeded memset
  Simplify rdma_delete_block and remove it's dependence on the hash
  Rework ram block hash
  Sort destination RAMBlocks to be the same as the source
  Sanity check RDMA remote data

 arch_init.c                   |   4 +-
 exec.c                        |  10 +-
 include/exec/cpu-common.h     |   4 +-
 include/migration/migration.h |   2 +-
 include/migration/qemu-file.h |  14 +-
 migration/qemu-file.c         |   8 +-
 migration/rdma.c              | 367 ++++++++++++++++++++++++++----------------
 trace-events                  |   8 +-
 8 files changed, 257 insertions(+), 160 deletions(-)

-- 
2.3.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]