mirror of https://github.com/xemu-project/xemu.git
migration: Refactor auto-converge capability logic
Check if block migration is running before throttling guest down in auto-converge way. Note that this modification is kind of like code clean, because block migration does not depend on auto-converge capability, so the order of checks can be adjusted. Signed-off-by: Hyman Huang(黄勇) <yong.huang@smartx.com> Acked-by: Peter Xu <peterx@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Message-Id: <168618975839.6361.17407633874747688653-5@git.sr.ht> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
parent
dc62395557
commit
bb9993c672
|
@ -995,7 +995,11 @@ static void migration_trigger_throttle(RAMState *rs)
|
||||||
/* During block migration the auto-converge logic incorrectly detects
|
/* During block migration the auto-converge logic incorrectly detects
|
||||||
* that ram migration makes no progress. Avoid this by disabling the
|
* that ram migration makes no progress. Avoid this by disabling the
|
||||||
* throttling logic during the bulk phase of block migration. */
|
* throttling logic during the bulk phase of block migration. */
|
||||||
if (migrate_auto_converge() && !blk_mig_bulk_active()) {
|
if (blk_mig_bulk_active()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (migrate_auto_converge()) {
|
||||||
/* The following detection logic can be refined later. For now:
|
/* The following detection logic can be refined later. For now:
|
||||||
Check to see if the ratio between dirtied bytes and the approx.
|
Check to see if the ratio between dirtied bytes and the approx.
|
||||||
amount of bytes that just got transferred since the last time
|
amount of bytes that just got transferred since the last time
|
||||||
|
|
Loading…
Reference in New Issue