在 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(黄勇)

Reply via email to