HI Anthony This is the patches in the migration queue. Please pull.
v2: - Drop align ram on multiple of 64 bits, more investigation required - fix ftruncate error code (tested of Fedora20 and see the problem) Please pull, Juan. [v1] 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 dd089c0a1e928fb80ba8a37983c1b0e9232d1c8b: Merge remote-tracking branch 'pmaydell/tags/pull-cocoa-20140112' into staging (2014-01-12 17:50:52 -0800) are available in the git repository at: git://github.com/juanquintela/qemu.git tags/migration/20140113 for you to fetch changes up to aa8dc044772ba156cbcf2174b5673cfa11f566a7: migration: synchronize memory bitmap 64bits at a time (2014-01-13 14:04:55 +0100) ---------------------------------------------------------------- migration.next for 20140113 ---------------------------------------------------------------- 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 (37): 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 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 | 76 +- 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, 2280 insertions(+), 1794 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