[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 5/6] migration/dirtyrate: check support of calculation for vcp
From: |
huangy81 |
Subject: |
[PATCH v1 5/6] migration/dirtyrate: check support of calculation for vcpu |
Date: |
Tue, 1 Jun 2021 01:05:58 +0800 |
From: Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
vcpu method only works when kvm dirty ring is enabled, use
kvm_dirty_ring_enabled to probe if dirty ring is enabled.
Signed-off-by: Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
---
migration/dirtyrate.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c
index 7952eb6117..da6500c8ec 100644
--- a/migration/dirtyrate.c
+++ b/migration/dirtyrate.c
@@ -16,6 +16,7 @@
#include "cpu.h"
#include "exec/ramblock.h"
#include "qemu/rcu_queue.h"
+#include "sysemu/kvm.h"
#include "qapi/qapi-commands-migration.h"
#include "ram.h"
#include "trace.h"
@@ -415,6 +416,14 @@ void qmp_calc_dirty_rate(int64_t calc_time,
return;
}
+ /*
+ * Vcpu method only works when kvm dirty ring is enabled.
+ */
+ if (has_vcpu && vcpu && !kvm_dirty_ring_enabled()) {
+ error_setg(errp, "kvm dirty ring is disabled, use sample method.");
+ return;
+ }
+
/*
* Init calculation state as unstarted.
*/
@@ -427,6 +436,7 @@ void qmp_calc_dirty_rate(int64_t calc_time,
config.sample_period_seconds = calc_time;
config.sample_pages_per_gigabytes = DIRTYRATE_DEFAULT_SAMPLE_PAGES;
+ config.vcpu = has_vcpu ? vcpu : false;
qemu_thread_create(&thread, "get_dirtyrate", get_dirtyrate_thread,
(void *)&config, QEMU_THREAD_DETACHED);
}
--
2.24.3
- [PATCH v1 0/6] support dirtyrate at the granualrity of vcpu, huangy81, 2021/05/31
- [PATCH v1 1/6] KVM: add kvm_dirty_ring_enabled function, huangy81, 2021/05/31
- [PATCH v1 2/6] KVM: introduce dirty_pages into CPUState, huangy81, 2021/05/31
- [PATCH v1 3/6] migration/dirtyrate: add vcpu option for qmp calc-dirty-rate, huangy81, 2021/05/31
- [PATCH v1 4/6] migration/dirtyrate: adjust struct DirtyRateStat, huangy81, 2021/05/31
- [PATCH v1 5/6] migration/dirtyrate: check support of calculation for vcpu,
huangy81 <=
- [PATCH v1 6/6] migration/dirtyrate: implement dirty-ring dirtyrate calculation, huangy81, 2021/05/31