From: Hyman Huang <yong.hu...@smartx.com> When the developer is examining the time distribution of the migration, it is useful to record the migration throttle timestamp. Consequently, include the migration throttle event.
Signed-off-by: Hyman Huang <yong.hu...@smartx.com> --- migration/ram.c | 1 + qapi/migration.json | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/migration/ram.c b/migration/ram.c index 589b6505eb..725e029927 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -524,6 +524,7 @@ static void mig_throttle_guest_down(uint64_t bytes_dirty_period, /* We have not started throttling yet. Let's start it. */ if (!cpu_throttle_active()) { + qapi_event_send_migration_throttle(); cpu_throttle_set(pct_initial); } else { /* Throttling already on, just increase the rate */ diff --git a/qapi/migration.json b/qapi/migration.json index 8b9c53595c..0495065b5d 100644 --- a/qapi/migration.json +++ b/qapi/migration.json @@ -1393,6 +1393,21 @@ { 'event': 'MIGRATION_PASS', 'data': { 'pass': 'int' } } +## +# @MIGRATION_THROTTLE: +# +# Emitted from the source side of a migration at the start of vCPU throttle +# +# Since: 10.0 +# +# Example: +# +# <- { "event": "MIGRATION_THROTTLE", +# "timestamp": { "seconds": 1267041730, "microseconds": 281295 } } +# +## +{ 'event': 'MIGRATION_THROTTLE' } + ## # @COLOMessage: # -- 2.27.0