From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> The following changes since commit da7da9d5e608200ecc0749ff37be246e9cd3314f:
Merge tag 'pull-request-2022-07-19' of https://gitlab.com/thuth/qemu into staging (2022-07-19 13:05:06 +0100) are available in the Git repository at: https://gitlab.com/dagrh/qemu.git tags/pull-migration-20220719c for you to fetch changes up to ec0345c1000b3a57b557da4c2e3f2114dd23903a: migration: Avoid false-positive on non-supported scenarios for zero-copy-send (2022-07-19 17:33:22 +0100) ---------------------------------------------------------------- Migration pull 2022-07-19 Hyman's dirty page rate limit set Ilya's fix for zlib vs migration Peter's postcopy-preempt Cleanup from Dan zero-copy tidy ups from Leo multifd doc fix from Juan Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> ---------------------------------------------------------------- Daniel P. Berrangé (1): migration: remove unreachable code after reading data Hyman Huang (8): accel/kvm/kvm-all: Refactor per-vcpu dirty ring reaping cpus: Introduce cpu_list_generation_id migration/dirtyrate: Refactor dirty page rate calculation softmmu/dirtylimit: Implement vCPU dirtyrate calculation periodically accel/kvm/kvm-all: Introduce kvm_dirty_ring_size function softmmu/dirtylimit: Implement virtual CPU throttle softmmu/dirtylimit: Implement dirty page rate limit tests: Add dirty page rate limit test Ilya Leoshkevich (1): multifd: Copy pages before compressing them with zlib Juan Quintela (1): multifd: Document the locking of MultiFD{Send/Recv}Params Leonardo Bras (4): QIOChannelSocket: Fix zero-copy flush returning code 1 when nothing sent Add dirty-sync-missed-zero-copy migration stat migration/multifd: Report to user when zerocopy not working migration: Avoid false-positive on non-supported scenarios for zero-copy-send Peter Xu (14): migration: Add postcopy-preempt capability migration: Postcopy preemption preparation on channel creation migration: Postcopy preemption enablement migration: Postcopy recover with preempt enabled migration: Create the postcopy preempt channel asynchronously migration: Add property x-postcopy-preempt-break-huge migration: Add helpers to detect TLS capability migration: Export tls-[creds|hostname|authz] params to cmdline too migration: Enable TLS for preempt channel migration: Respect postcopy request order in preemption mode tests: Move MigrateCommon upper tests: Add postcopy tls migration test tests: Add postcopy tls recovery migration test tests: Add postcopy preempt tests accel/kvm/kvm-all.c | 46 ++- accel/stubs/kvm-stub.c | 5 + cpus-common.c | 8 + hmp-commands-info.hx | 13 + hmp-commands.hx | 32 +++ include/exec/cpu-common.h | 1 + include/exec/memory.h | 5 +- include/hw/core/cpu.h | 6 + include/monitor/hmp.h | 3 + include/sysemu/dirtylimit.h | 37 +++ include/sysemu/dirtyrate.h | 28 ++ include/sysemu/kvm.h | 2 + io/channel-socket.c | 8 +- migration/channel.c | 9 +- migration/dirtyrate.c | 227 +++++++++------ migration/dirtyrate.h | 7 +- migration/migration.c | 152 ++++++++-- migration/migration.h | 44 ++- migration/multifd-zlib.c | 38 ++- migration/multifd.c | 6 +- migration/multifd.h | 66 +++-- migration/postcopy-ram.c | 186 ++++++++++++- migration/postcopy-ram.h | 11 + migration/qemu-file.c | 31 ++- migration/qemu-file.h | 1 + migration/ram.c | 331 ++++++++++++++++++++-- migration/ram.h | 6 +- migration/savevm.c | 46 ++- migration/socket.c | 22 +- migration/socket.h | 1 + migration/tls.c | 9 + migration/tls.h | 4 + migration/trace-events | 15 +- monitor/hmp-cmds.c | 5 + qapi/migration.json | 94 ++++++- softmmu/dirtylimit.c | 601 ++++++++++++++++++++++++++++++++++++++++ softmmu/meson.build | 1 + softmmu/trace-events | 7 + tests/qtest/migration-helpers.c | 22 ++ tests/qtest/migration-helpers.h | 2 + tests/qtest/migration-test.c | 539 +++++++++++++++++++++++++++++------ tests/qtest/qmp-cmd-test.c | 2 + 42 files changed, 2394 insertions(+), 285 deletions(-) create mode 100644 include/sysemu/dirtylimit.h create mode 100644 include/sysemu/dirtyrate.h create mode 100644 softmmu/dirtylimit.c