This patch set provides a new method for throttling a vcpu and makes use of said method to dynamically increase cpu throttling during an autoconverge migration until the migration completes.
The method used here for throttling vcpus is likely not the best. However, I believe that it is preferable to what is used for autoconverge today. This work is related to the following discussion: https://lists.gnu.org/archive/html/qemu-devel/2015-03/msg00287.html Changelog ----------- v3 - Cpu throttling parameters moved from CPUState to global scope - Throttling interface now uses a percentage instead of ratio - Migration parameters added to allow tweaking of how aggressive throttling is - Add throttle active check to the throttle stop routine. - Remove asserts from throttle start/stop functions and instead force the input to fall within the acceptable range - Rename cpu_throttle_start to cpu_throttle_set to better describe its purpose - Remove unneeded object casts - Fixed monitor output formatting - Comment cleanups v2 - Add cpu throttle ratio output to hmp/qmp info/query migrate commands v1 - Initial Jason J. Herne (5): cpu: Provide vcpu throttling interface migration: Parameters for auto-converge cpu throttling migration: Dynamic cpu throttling for auto-converge qmp/hmp: Add throttle ratio to query-migrate and info migrate migration: Disambiguate MAX_THROTTLE arch_init.c | 93 +++++++++++++++++---------------------------------- cpus.c | 76 +++++++++++++++++++++++++++++++++++++++++ hmp.c | 21 ++++++++++++ include/qom/cpu.h | 38 +++++++++++++++++++++ migration/migration.c | 57 +++++++++++++++++++++++++++++-- qapi-schema.json | 40 +++++++++++++++++++--- 6 files changed, 256 insertions(+), 69 deletions(-) -- 1.9.1