aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Sistare <steven.sistare@oracle.com>2024-03-11 10:48:52 -0700
committerPeter Xu <peterx@redhat.com>2024-03-11 16:28:59 -0400
commit714f33123bfc73c6caacd19a44e082da8cdc96e3 (patch)
treeb185dd3e99ecc11639ee71bfc15c11805e41d1c2
parentaeaafb1e59f81f5cc715e656dac23f3fe5db3faa (diff)
migration: export vcpu_dirty_limit_period
Define and export vcpu_dirty_limit_period to eliminate a dependency on MigrationState. Signed-off-by: Steve Sistare <steven.sistare@oracle.com> Link: https://lore.kernel.org/r/1710179338-294359-6-git-send-email-steven.sistare@oracle.com Signed-off-by: Peter Xu <peterx@redhat.com>
-rw-r--r--include/migration/client-options.h1
-rw-r--r--migration/options.c7
-rw-r--r--system/dirtylimit.c3
3 files changed, 9 insertions, 2 deletions
diff --git a/include/migration/client-options.h b/include/migration/client-options.h
index 887fea1565..59f4b55cf4 100644
--- a/include/migration/client-options.h
+++ b/include/migration/client-options.h
@@ -20,5 +20,6 @@ bool migrate_switchover_ack(void);
/* parameters */
MigMode migrate_mode(void);
+uint64_t migrate_vcpu_dirty_limit_period(void);
#endif
diff --git a/migration/options.c b/migration/options.c
index 642cfb00a3..09178c6f60 100644
--- a/migration/options.c
+++ b/migration/options.c
@@ -924,6 +924,13 @@ const char *migrate_tls_hostname(void)
return s->parameters.tls_hostname;
}
+uint64_t migrate_vcpu_dirty_limit_period(void)
+{
+ MigrationState *s = migrate_get_current();
+
+ return s->parameters.x_vcpu_dirty_limit_period;
+}
+
uint64_t migrate_xbzrle_cache_size(void)
{
MigrationState *s = migrate_get_current();
diff --git a/system/dirtylimit.c b/system/dirtylimit.c
index 1622bb7426..b0afaa0776 100644
--- a/system/dirtylimit.c
+++ b/system/dirtylimit.c
@@ -77,14 +77,13 @@ static bool dirtylimit_quit;
static void vcpu_dirty_rate_stat_collect(void)
{
- MigrationState *s = migrate_get_current();
VcpuStat stat;
int i = 0;
int64_t period = DIRTYLIMIT_CALC_TIME_MS;
if (migrate_dirty_limit() &&
migration_is_active()) {
- period = s->parameters.x_vcpu_dirty_limit_period;
+ period = migrate_vcpu_dirty_limit_period();
}
/* calculate vcpu dirtyrate */