* Dr. David Alan Gilbert (git) (dgilb...@redhat.com) wrote: > From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> > > The following changes since commit 2b049d2c8dc01de750410f8f1a4eac498c04c723: > > Merge tag 'pull-aspeed-20220622' of https://github.com/legoater/qemu into > staging (2022-06-22 07:27:06 -0700) > > are available in the Git repository at: > > https://gitlab.com/dagrh/qemu.git tags/pull-migration-20220622b > > for you to fetch changes up to 9c6eb6dc3785a280b504195d308da082641af2a7: > > tests: Add dirty page rate limit test (2022-06-22 19:33:43 +0100)
NACK - Peter spotted a 1 character typo; I'll resend. Dave > ---------------------------------------------------------------- > Migration pull 2022-06-22 > > Compared to Juan's pull: > a) Hopefully fixed non-Linux builds > (Local build test on mingw64 works > Note: the zero-copy capability is now > defined on non-Linux systems) > b) Added Hyman's series - it had been > on queue for a while (sorry for the delay) > c) Fixed up a whole bunch of check-patch failures > - please use it! > > In this today migration PULL request: > - Dainiel Berrangé - qemufileops cleanup > - Leonardo Bras - cleanups for zero copy > - Juan Quintela - RDMA cleanups > - Hyman Huang - per-vcpu dirty ring work > > Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> > > ---------------------------------------------------------------- > Daniel P. Berrangé (21): > io: add a QIOChannelNull equivalent to /dev/null > migration: switch to use QIOChannelNull for dummy channel > migration: remove unreachble RDMA code in save_hook impl > migration: rename rate limiting fields in QEMUFile > migration: rename 'pos' field in QEMUFile to 'bytes_processed' > migration: rename qemu_ftell to qemu_file_total_transferred > migration: rename qemu_update_position to qemu_file_credit_transfer > migration: rename qemu_file_update_transfer to qemu_file_acct_rate_limit > migration: introduce a QIOChannel impl for BlockDriverState VMState > migration: convert savevm to use QIOChannelBlock for VMState > migration: stop passing 'opaque' parameter to QEMUFile hooks > migration: hardcode assumption that QEMUFile is backed with QIOChannel > migration: introduce new constructors for QEMUFile > migration: remove unused QEMUFileGetFD typedef / qemu_get_fd method > migration: remove the QEMUFileOps 'shut_down' callback > migration: remove the QEMUFileOps 'set_blocking' callback > migration: remove the QEMUFileOps 'close' callback > migration: remove the QEMUFileOps 'get_buffer' callback > migration: remove the QEMUFileOps 'writev_buffer' callback > migration: remove the QEMUFileOps 'get_return_path' callback > migration: remove the QEMUFileOps abstraction > > 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 > > Juan Quintela (1): > migration: Remove RDMA_UNREGISTRATION_EXAMPLE > > Leonardo Bras (3): > QIOChannelSocket: Introduce assert and reduce ifdefs to improve > readability > QIOChannelSocket: Fix zero-copy send so socket flush works > migration: Change zero_copy_send from migration parameter to migration > capability > > 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/io/channel-null.h | 55 ++++ > include/monitor/hmp.h | 3 + > include/sysemu/dirtylimit.h | 37 +++ > include/sysemu/dirtyrate.h | 28 ++ > include/sysemu/kvm.h | 2 + > io/channel-null.c | 237 +++++++++++++++ > io/channel-socket.c | 19 +- > io/meson.build | 1 + > io/trace-events | 3 + > migration/block.c | 10 +- > migration/channel-block.c | 195 +++++++++++++ > migration/channel-block.h | 59 ++++ > migration/channel.c | 4 +- > migration/colo.c | 5 +- > migration/dirtyrate.c | 227 ++++++++------ > migration/dirtyrate.h | 7 +- > migration/meson.build | 2 +- > migration/migration.c | 68 ++--- > migration/multifd.c | 4 +- > migration/qemu-file-channel.c | 194 ------------ > migration/qemu-file-channel.h | 32 -- > migration/qemu-file.c | 193 ++++++------ > migration/qemu-file.h | 125 ++++---- > migration/ram.c | 8 +- > migration/rdma.c | 185 +++--------- > migration/savevm.c | 55 +--- > migration/vmstate.c | 5 +- > monitor/hmp-cmds.c | 6 - > qapi/migration.json | 113 +++++-- > 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 | 255 ++++++++++++++++ > tests/qtest/qmp-cmd-test.c | 2 + > tests/unit/meson.build | 1 + > tests/unit/test-io-channel-null.c | 95 ++++++ > tests/unit/test-vmstate.c | 5 +- > 47 files changed, 2219 insertions(+), 770 deletions(-) > create mode 100644 include/io/channel-null.h > create mode 100644 include/sysemu/dirtylimit.h > create mode 100644 include/sysemu/dirtyrate.h > create mode 100644 io/channel-null.c > create mode 100644 migration/channel-block.c > create mode 100644 migration/channel-block.h > delete mode 100644 migration/qemu-file-channel.c > delete mode 100644 migration/qemu-file-channel.h > create mode 100644 softmmu/dirtylimit.c > create mode 100644 tests/unit/test-io-channel-null.c > > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK