Hi This is the 3rd version of multifd. Changes: - comments for previous verion addressed - lots of bugs fixed - remove DPRINTF from ram.c
- add multifd-group parameter, it gives how many pages we sent each time to the worker threads. I am open to better names. - Better flush support. - with migration_set_speed 2G it is able to migrate "stress -vm 2 -vm-bytes 512M" over loopback. Please review. Thanks, Juan. [v2] This is a version against current code. It is based on top of QIO work. It improves the thread synchronization and fixes the problem when we could have two threads handing the same page. Please comment, Juan. Juan Quintela (17): migration: transform remained DPRINTF into trace_ migration: create Migration Incoming State at init time migration: Test for disabled features on reception migration: Don't create decompression threads if not enabled migration: Add multifd capability migration: Create x-multifd-threads parameter migration: Create x-multifd-group parameter migration: create multifd migration threads migration: Start of multiple fd work migration: create ram_multifd_page migration: Create thread infrastructure for multifd send side migration: really use multiple pages at a time migration: Send the fd number which we are going to use for this page migration: Create thread infrastructure for multifd recv side migration: Test new fd infrastructure migration: [HACK]Transfer pages over new channels migration: flush receive queue hmp.c | 18 ++ include/migration/migration.h | 17 +- migration/migration.c | 115 ++++++++-- migration/ram.c | 515 ++++++++++++++++++++++++++++++++++++++++-- migration/savevm.c | 4 +- migration/socket.c | 56 ++++- migration/trace-events | 4 + qapi-schema.json | 29 ++- 8 files changed, 707 insertions(+), 51 deletions(-) -- 2.9.3