Skip to content

Commit

Permalink
migration: Put the detection logic before auto-converge checking
Browse files Browse the repository at this point in the history
This commit is prepared for the implementation of dirty-limit
convergence algo.

The detection logic of throttling condition can apply to both
auto-converge and dirty-limit algo, putting it's position
before the checking logic for auto-converge feature.

Signed-off-by: Hyman Huang(黄勇) <yong.huang@smartx.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Message-ID: <168733225273.5845.15871826788879741674-6@git.sr.ht>
Signed-off-by: Juan Quintela <quintela@redhat.com>
  • Loading branch information
HuangSuiXiao authored and Juan Quintela committed Jul 26, 2023
1 parent bb9993c commit 310ad56
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions migration/ram.c
Original file line number Diff line number Diff line change
Expand Up @@ -999,17 +999,18 @@ static void migration_trigger_throttle(RAMState *rs)
return;
}

if (migrate_auto_converge()) {
/* The following detection logic can be refined later. For now:
Check to see if the ratio between dirtied bytes and the approx.
amount of bytes that just got transferred since the last time
we were in this routine reaches the threshold. If that happens
twice, start or increase throttling. */

if ((bytes_dirty_period > bytes_dirty_threshold) &&
(++rs->dirty_rate_high_cnt >= 2)) {
/*
* The following detection logic can be refined later. For now:
* Check to see if the ratio between dirtied bytes and the approx.
* amount of bytes that just got transferred since the last time
* we were in this routine reaches the threshold. If that happens
* twice, start or increase throttling.
*/
if ((bytes_dirty_period > bytes_dirty_threshold) &&
(++rs->dirty_rate_high_cnt >= 2)) {
rs->dirty_rate_high_cnt = 0;
if (migrate_auto_converge()) {
trace_migration_throttle();
rs->dirty_rate_high_cnt = 0;
mig_throttle_guest_down(bytes_dirty_period,
bytes_dirty_threshold);
}
Expand Down

0 comments on commit 310ad56

Please sign in to comment.