migration: export vcpu_dirty_limit_period
authorSteve Sistare <steven.sistare@oracle.com>
Mon, 11 Mar 2024 17:48:52 +0000 (10:48 -0700)
committerPeter Xu <peterx@redhat.com>
Mon, 11 Mar 2024 20:28:59 +0000 (16:28 -0400)
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>
include/migration/client-options.h
migration/options.c
system/dirtylimit.c

index 887fea1565b1a93cfa03c34763897eba45484e43..59f4b55cf4f744f222c161ab0b5b9828b53198be 100644 (file)
@@ -20,5 +20,6 @@ bool migrate_switchover_ack(void);
 /* parameters */
 
 MigMode migrate_mode(void);
+uint64_t migrate_vcpu_dirty_limit_period(void);
 
 #endif
index 642cfb00a3ec9c0a6b10f2a69c2ca59a5a4d8a85..09178c6f60b1a225dd0800e1ca4cf3b52b4c064a 100644 (file)
@@ -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();
index 1622bb74264403a9d622094cd7ca5973b24cef98..b0afaa07769165ad05a611b6d193304cb3603425 100644 (file)
@@ -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 */