Hi, The following patches introduce the support of the dirty bitmap logging and dumping to a specified file. This patch series addresses the previous issues raised by David and Eric.
v5 --> v6 * The shared function between migration and log bitmap has been again modified (David's advice). * Again changed the naming conventions for shared state between migration and log dirty bitmap (David's and Eric's advice). * Removed acronyms (Eric's advice). * Fixed grammatical mistakes and macros (Eric's advice). * Modified the python script to utilize less memory as well as dump the snapshot into a file instead of separate window (David's advice). v4 --> v5 * Removed the runstates code (Eric's and David's advice). * Now, using global variable to resolve the issue between migration and bitmap dump (David's advice). * Merged the hmp and qmp interface's patch (Eric's advice). * Modified the code to support the dynamic change in last_ram_offset (David's advice). * Formatted the strings in the python code i.e. length followed by text (David's advice). * Added some code to generate black and white figure based on the bitmap. * Modified the shared function to be more generic (David's advice). v3 --> v4 * Added new qmp interface for information extraction from the bitmap process v2 --> v3 * Reformatted the code and removed some unnecessary parts. * Printing block info along with length and offset. * Changed the functions that were directly using RUN_STATE_RUNNING as state. v1 --> v2: * Added two new run states to avoid simultaneous execution of both migration and bitmap dump process. * Removed FILE pointer usage. * Dumping the data only in machine-readable format. * Tried to rectify mistakes of the previous version. Sanidhya Kashyap (6): generic function between migration and bitmap dump BitmapLog: bitmap dump code BitmapLog: get the information about the parameters BitmapLog: cancel mechanism for an already running dump bitmap process BitmapLog: set the period of the dump bitmap process BitmapLog: python script for extracting bitmap from a binary file arch_init.c | 19 ++- hmp-commands.hx | 47 ++++++ hmp.c | 56 ++++++ hmp.h | 4 + include/exec/cpu-all.h | 5 +- include/exec/ram_addr.h | 4 + include/sysemu/sysemu.h | 5 + migration.c | 12 ++ monitor.c | 7 + qapi-schema.json | 86 ++++++++++ qmp-commands.hx | 101 +++++++++++ savevm.c | 423 ++++++++++++++++++++++++++++++++++++++++++++++ scripts/extract-bitmap.py | 213 +++++++++++++++++++++++ vl.c | 23 +++ 14 files changed, 996 insertions(+), 9 deletions(-) create mode 100755 scripts/extract-bitmap.py -- 1.9.1