Report throttle percentage in info migrate and query-migrate responses when cpu throttling is active.
Signed-off-by: Jason J. Herne <jjhe...@linux.vnet.ibm.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- hmp.c | 5 +++++ migration/migration.c | 5 +++++ qapi-schema.json | 7 ++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/hmp.c b/hmp.c index eb65998..36bc76e 100644 --- a/hmp.c +++ b/hmp.c @@ -229,6 +229,11 @@ void hmp_info_migrate(Monitor *mon, const QDict *qdict) info->xbzrle_cache->overflow); } + if (info->has_x_cpu_throttle_percentage) { + monitor_printf(mon, "cpu throttle percentage: %" PRIu64 "\n", + info->x_cpu_throttle_percentage); + } + qapi_free_MigrationInfo(info); qapi_free_MigrationCapabilityStatusList(caps); } diff --git a/migration/migration.c b/migration/migration.c index 7708c54..b29450a 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -274,6 +274,11 @@ MigrationInfo *qmp_query_migrate(Error **errp) info->disk->total = blk_mig_bytes_total(); } + if (cpu_throttle_active()) { + info->has_x_cpu_throttle_percentage = true; + info->x_cpu_throttle_percentage = cpu_throttle_get_percentage(); + } + get_xbzrle_cache_stats(info); break; case MIGRATION_STATUS_COMPLETED: diff --git a/qapi-schema.json b/qapi-schema.json index 52b7e07..c2bd8ce 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -474,6 +474,10 @@ # may be expensive, but do not actually occur during the iterative # migration rounds themselves. (since 1.6) # +# @x-cpu-throttle-percentage: #optional percentage of time guest cpus are being +# throttled during auto-converge. This is only present when auto-converge +# has started throttling guest cpus. (Since 2.4) +# # Since: 0.14.0 ## { 'struct': 'MigrationInfo', @@ -483,7 +487,8 @@ '*total-time': 'int', '*expected-downtime': 'int', '*downtime': 'int', - '*setup-time': 'int'} } + '*setup-time': 'int', + '*x-cpu-throttle-percentage': 'int'} } ## # @query-migrate -- 1.9.1