migration/throttle: Add cpu-throttle-tailslow migration parameter
commitcbbf818224faf5ede75c876e4900c9f8e6b6c0db
authorKeqian Zhu <zhukeqian1@huawei.com>
Mon, 13 Apr 2020 10:15:08 +0000 (13 18:15 +0800)
committerDr. David Alan Gilbert <dgilbert@redhat.com>
Thu, 7 May 2020 16:40:24 +0000 (7 17:40 +0100)
tree784aaa0ad9cf5964fb0c5219d629afea051423bb
parent58602676dfd00f519248d4936b0711b7967cbf62
migration/throttle: Add cpu-throttle-tailslow migration parameter

At the tail stage of throttling, the Guest is very sensitive to
CPU percentage while the @cpu-throttle-increment is excessive
usually at tail stage.

If this parameter is true, we will compute the ideal CPU percentage
used by the Guest, which may exactly make the dirty rate match the
dirty rate threshold. Then we will choose a smaller throttle increment
between the one specified by @cpu-throttle-increment and the one
generated by ideal CPU percentage.

Therefore, it is compatible to traditional throttling, meanwhile
the throttle increment won't be excessive at tail stage. This may
make migration time longer, and is disabled by default.

Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com>
Message-Id: <20200413101508.54793-1-zhukeqian1@huawei.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
migration/migration.c
migration/ram.c
monitor/hmp-cmds.c
qapi/migration.json