On 12/25/2013 12:06 AM, Juan Quintela wrote:
Hi Anthony
This is the patches in the migration queue. Please pull.
This includes:
- Eduardo refactorings & tests
- Matthew rate limit fix
- Zhanghaoyu CANCELLING fixes
- My bitmap changes
Integration work was done by Orit.
Happy Christmas, Juan.
The following changes since commit f976b09ea249cccc3fd41c98aaf6512908db0bae:
PPC: Fix compilation with TCG debug (2013-12-22 19:15:55 +0100)
are available in the git repository at:
git://github.com/juanquintela/qemu.git tags/migration/20131224
for you to fetch changes up to bc864a4f0ce79a8f4c09bc479a81c5f919ee48f6:
ram: align ram_addr_t's regions in multiples of 64 (2013-12-24 16:13:07
+0100)
----------------------------------------------------------------
migration.next for 20131224
----------------------------------------------------------------
Eduardo Habkost (9):
qemu-file: Make a few functions non-static
migration: Move QEMU_VM_* defines to migration/migration.h
savevm: Convert all tabs to spaces
savevm.c: Coding style fixes
savevm.c: Coding style fix
vmstate: Move VMState code to vmstate.c
qemu-file: Move QEMUFile code to qemu-file.c
savevm: Small comment about why timer QEMUFile/VMState code is in
savevm.c
tests: Some unit tests for vmstate.c
Juan Quintela (38):
bitmap: use long as index
memory: cpu_physical_memory_set_dirty_flags() result is never used
memory: cpu_physical_memory_set_dirty_range() return void
exec: use accessor function to know if memory is dirty
memory: create function to set a single dirty bit
exec: create function to get a single dirty bit
memory: make cpu_physical_memory_is_dirty return bool
memory: all users of cpu_physical_memory_get_dirty used only one flag
memory: set single dirty flags when possible
memory: cpu_physical_memory_set_dirty_range() always dirty all flags
memory: cpu_physical_memory_mask_dirty_range() always clears a single
flag
memory: use bit 2 for migration
memory: make sure that client is always inside range
memory: only resize dirty bitmap when memory size increases
memory: cpu_physical_memory_clear_dirty_flag() result is never used
bitmap: Add bitmap_zero_extend operation
memory: split dirty bitmap into three
memory: unfold cpu_physical_memory_clear_dirty_flag() in its only user
memory: unfold cpu_physical_memory_set_dirty() in its only user
memory: unfold cpu_physical_memory_set_dirty_flag()
memory: make cpu_physical_memory_get_dirty() the main function
memory: cpu_physical_memory_get_dirty() is used as returning a bool
memory: s/mask/clear/ cpu_physical_memory_mask_dirty_range
memory: use find_next_bit() to find dirty bits
memory: cpu_physical_memory_set_dirty_range() now uses bitmap operations
memory: cpu_physical_memory_clear_dirty_range() now uses bitmap
operations
memory: s/dirty/clean/ in cpu_physical_memory_is_dirty()
memory: make cpu_physical_memory_reset_dirty() take a length parameter
memory: cpu_physical_memory_set_dirty_tracking() should return void
memory: split cpu_physical_memory_* functions to its own include
memory: unfold memory_region_test_and_clear()
kvm: use directly cpu_physical_memory_* api for tracking dirty pages
kvm: refactor start address calculation
memory: move bitmap synchronization to its own function
memory: syncronize kvm bitmap using bitmaps operations
ram: split function that synchronizes a range
migration: synchronize memory bitmap 64bits at a time
ram: align ram_addr_t's regions in multiples of 64
Matthew Garrett (1):
migration: Fix rate limit
Zhanghaoyu (A) (2):
avoid a bogus COMPLETED->CANCELLED transition
introduce MIG_STATE_CANCELLING state
Makefile.objs | 2 +
arch_init.c | 52 +-
cputlb.c | 11 +-
exec.c | 78 +-
include/exec/cpu-all.h | 3 +-
include/exec/memory-internal.h | 90 ---
include/exec/memory.h | 12 +-
include/exec/ram_addr.h | 147 ++++
include/migration/migration.h | 11 +
include/migration/qemu-file.h | 4 +
include/qemu/bitmap.h | 86 ++-
include/qemu/bitops.h | 14 +-
kvm-all.c | 28 +-
memory.c | 17 +-
migration.c | 33 +-
qemu-file.c | 826 +++++++++++++++++++++
savevm.c | 1590 ++--------------------------------------
tests/.gitignore | 1 +
tests/Makefile | 4 +
tests/test-vmstate.c | 357 +++++++++
util/bitmap.c | 60 +-
vmstate.c | 650 ++++++++++++++++
22 files changed, 2281 insertions(+), 1795 deletions(-)
create mode 100644 include/exec/ram_addr.h
create mode 100644 qemu-file.c
create mode 100644 tests/test-vmstate.c
create mode 100644 vmstate.c
Juan, can you resend? I think Anthony wants the whole series in the pull
request.
I'd really like to rebasing against this =)
- Michael