Support set the CPU affinity of the live migration thread to improve
the migration performance in specific cases. By default, the migration
thread shares CPU resources with the VM process. With those API, support
pin migration thread to expected CPU list to avoid preempting CPU 
resources of VM process.
New API 'pinMigrationThread' and virsh command 'virsh migrationpin'
is used to pin migration thread to expected CPU list before or during
migration.
New migration param 'migration.pin' is used to support migration pin
via interface 'virDomainMigrateToURI3'.

Jiang Jiacheng (2):
  migration/migration-pin: support migration thread pin by virsh command
  migration/migration-pin/multifd-pin: add migration pin status handle

zhengchuan (10):
  migration/migration-pin: get migration pid for migration pin
  migration/migration-pin: pin migration pid by given cpumap
  migration/migration-pin: add qemu monitor callback functions
  migration/migration-pin: add migrationpin for migration parameters
  migration/migration-pin: get cpumap from migration.pin
  migration/migration-pin: add domainMigrationPid for
    qemuMonitorCallbacks
  migration/multifd-pin: get multifd pid for migration pin
  migration/multifd-pin: pin multifd pid by given cpumap
  migration/multifd-pin: add qemu monitor callback functions
  migration/multifd-pin: support migration multifd thread pin

 include/libvirt/libvirt-domain.h |  19 ++
 src/conf/domain_conf.c           |   9 +
 src/conf/domain_conf.h           |  11 ++
 src/conf/virconftypes.h          |   2 +
 src/driver-hypervisor.h          |  16 ++
 src/libvirt-domain.c             | 144 +++++++++++++++
 src/libvirt_private.syms         |   1 +
 src/libvirt_public.syms          |   7 +
 src/qemu/qemu_domain.c           |   5 +
 src/qemu/qemu_domain.h           |   5 +
 src/qemu/qemu_driver.c           | 175 ++++++++++++++++++
 src/qemu/qemu_migration.c        |   5 +
 src/qemu/qemu_migration.h        |   1 +
 src/qemu/qemu_migration_params.c |  21 +++
 src/qemu/qemu_migration_params.h |   4 +
 src/qemu/qemu_monitor.c          |  20 ++
 src/qemu/qemu_monitor.h          |  13 ++
 src/qemu/qemu_monitor_json.c     |  32 ++++
 src/qemu/qemu_process.c          | 303 +++++++++++++++++++++++++++++++
 src/qemu/qemu_process.h          |  15 ++
 src/remote/remote_driver.c       |   3 +
 src/remote/remote_protocol.x     |  43 ++++-
 src/remote_protocol-structs      |  28 +++
 src/util/vircgroup.c             |   3 +
 src/util/vircgroup.h             |   1 +
 tools/virsh-domain.c             |  69 +++++++
 26 files changed, 954 insertions(+), 1 deletion(-)

-- 
2.33.0

Reply via email to