在 2022/10/7 23:09, Markus Armbruster 写道:
Hyman Huang <huang...@chinatelecom.cn> writes:
在 2022/10/2 2:31, Markus Armbruster 写道:
huang...@chinatelecom.cn writes:
From: Hyman Huang(黄勇) <huang...@chinatelecom.cn>
Export dirty limit throttle time and estimated ring full
time, through which we can observe the process of dirty
limit during live migration.
Signed-off-by: Hyman Huang(黄勇) <huang...@chinatelecom.cn>
[...]
diff --git a/qapi/migration.json b/qapi/migration.json
index bc4bc96..c263d54 100644
--- a/qapi/migration.json
+++ b/qapi/migration.json
@@ -242,6 +242,12 @@
# Present and non-empty when migration is blocked.
# (since 6.0)
#
+# @dirty-limit-throttle-us-per-full: Throttle time (us) during the period of
+# dirty ring full (since 7.0)
+#
+# @dirty-limit-us-ring-full: Estimated periodic time (us) of dirty ring full.
+# (since 7.0)
+#
Can you explain what is measured here a bit more verbosely?
The two fields of migration info aims to export dirty-limit throttle time so
that upper apps can check out the process of live migration,
like 'cpu-throttle-percentage'.
The commit "tests: Add migration dirty-limit capability test" make use of the
'dirty-limit-throttle-us-per-full' to checkout if dirty-limit has
started, the commit "tests/migration: Introduce dirty-limit into guestperf"
introduce the two field so guestperf tools also show the
process of dirty-limit migration.
And i also use qmp_query_migrate to observe the migration by checkout these two
fields.
I'm not sure if above explantation is what you want exactly, please be free to
start any discussion about this features.
You explained use cases, which is always welcome.
I'm trying to understand the two new members' meaning, i.e. what exactly
is being measured.
dirty-limit-throttle-us-per-full:
Means the time vCPU should sleep once it's dirty ring get full, since we
set limit on vCPU every time it returns to Qemu for the
KVM_EXIT_DIRTY_RING_FULL reason, the sleep time may also changes everty
time dirty ring get full. 'dirty-limit-throttle-us-per-full' can be
simplified as 'throttle time(us) every time vCPU's dirty ring full get
full'. The 'dirty-limit' is just the prefix to mark that parameter is
dirty-limit-related.
dirty-limit-us-ring-full:
It is an estimated value which means the time a vCPU's dirty ring get
full. It depends on the vCPU's dirty page rate, the higher the rate is,
the smaller dirty-limit-us-ring-full is.
dirty-limit-throttle-us-per-full / dirty-limit-us-ring-full * 100 is
kind of like 'cpu-throttle-percentage'.
Thanks,
Yong
For existing @cpu-throttle-percentage, the doc comment tells me:
"percentage of time guest cpus are being throttled during
auto-converge."
For the your new members, the doc comment tries to tell me, but it
doesn't succeed. If you explain what is being measured more verbosely,
we may be able to improve the doc comment.
--
Best regard
Hyman Huang(黄勇)