Define and export vcpu_dirty_limit_period to eliminate a dependency
on MigrationState.
Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
---
include/migration/client-options.h | 1 +
migration/options.c | 7 +++++++
system/dirtylimit.c | 3 +--
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/include/migration/client-options.h b/include/migration/client-options.h
index 887fea1..59f4b55 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 642cfb0..09178c6 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 1622bb7..b0afaa0 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 */
--
1.8.3.1