v4: - improve the code left and right - use the MIGRATION_FLAG_SYNC - use qerrors properly - pass errors everywhere (no more printfs) - create cleanup/save operations - merged zlib patches into one - general patches alreody on the migration pull request. - commented all the methods.
ToDo: Didn't add the sztd compression because I changed the zlib code/methods quite a bit. My understanding is that all the issues are gone. v3: - improve the code - address David and Markus comments - make compression code into methods so we can add any other method ading just three functions Please review, as far as I know everything is ok now. Todo: Add zstd support v2: - improve the code left and right - Split better the zlib code - rename everything to v4.1 - Add tests for multifd-compress zlib - Parameter is now an enum (soon will see sztd) ToDo: - Make operations for diferent methods: * multifd_prepare_send_none/zlib * multifd_send_none/zlib * multifd_recv_none/zlib - Use the MULTIFD_FLAG_ZLIB (it is unused so far). Please review and comment. v1: This series create compression code on top of multifd. It is still WIP, but it is already: - faster that current compression code - it does the minimum amount of copies possible - we allow support for other compression codes - it pass the multifd test sent in my previous series Test for existing code didn't work because code is too slow, I need to make downtime 10 times bigger to make it to converge on my test machine. This code works with same limits that multifd no- ToDo: - move printf's to traces - move code to a struct instead of if (zlib) inside the main threads. - improve error handling. Please, review and coment. Juan Quintela (6): migration-test: introduce functions to handle string parameters migration: Make multifd_save_setup() get an Error parameter migration: Make multifd_load_setup() get an Error parameter migration: Add multifd-compress parameter migration: Make no compression operations into its own structure migration: Add zlib compression multifd support hmp.c | 13 + hw/core/qdev-properties.c | 13 + include/hw/qdev-properties.h | 3 + migration/migration.c | 34 ++- migration/migration.h | 3 +- migration/ram.c | 454 ++++++++++++++++++++++++++++++++++- migration/ram.h | 4 +- migration/rdma.c | 2 +- qapi/migration.json | 30 ++- tests/migration-test.c | 54 ++++- 10 files changed, 585 insertions(+), 25 deletions(-) -- 2.21.0