在 2022/2/14 18:13, Michal Prívozník 写道:
On 1/28/22 08:35, huangy81@xxxxxxxxxxxxxxx wrote:
From: Hyman Huang(黄勇) <huangy81@xxxxxxxxxxxxxxx>
Introduce virDomainDirtyRateCalcFlags and
virDomainDirtyRateCalcMode to get ready for adding mode
parameter to qemuDomainStartDirtyRateCalc.
Signed-off-by: Hyman Huang(黄勇) <huangy81@xxxxxxxxxxxxxxx>
---
include/libvirt/libvirt-domain.h | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index 374859f..722a310 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -5257,8 +5257,32 @@ typedef enum {
# endif
} virDomainDirtyRateStatus;
+/**
+ * virDomainDirtyRateCalcFlags:
+ *
+ * Flags OR'ed together to provide specific behaviour when calculating dirty page
+ * rate for a Domain
+ *
+ */
+typedef enum {
+ VIR_DOMAIN_DIRTYRATE_MODE_PAGE_SAMPLING = 0, /* default mode - page-sampling */
+ VIR_DOMAIN_DIRTYRATE_MODE_DIRTY_BITMAP = 1 << 0, /* dirty-bitmap mode */
+ VIR_DOMAIN_DIRTYRATE_MODE_DIRTY_RING = 1 << 1, /* dirty-ring mode */
+} virDomainDirtyRateCalcFlags;
+
int virDomainStartDirtyRateCalc(virDomainPtr domain,
int seconds,
unsigned int flags);
Up until here it's okay.
+/**
+ * virDomainDirtyRateCalcMode:
+ *
+ * Dirty page rate calculation mode used during measurement.
+ */
+typedef enum {
+ VIR_DOMAIN_DIRTYRATE_CALC_MODE_PAGE_SAMPLING = 0,
+ VIR_DOMAIN_DIRTYRATE_CALC_MODE_DIRTY_BITMAP,
+ VIR_DOMAIN_DIRTYRATE_CALC_MODE_DIRTY_RING,
+ VIR_DOMAIN_DIRTYRATE_CALC_MODE_LAST,
+} virDomainDirtyRateCalcMode;
#endif /* LIBVIRT_DOMAIN_H */
But this doesn't belong here. These flags are used only internally. Why
they need to be exposed?
When displaying the dirtyrate info in 'virsh domstats --dirtyrate' api,
we introduce the 'mode' field to show what mode used last calculation.
Whose meanings can be refered to the virDomainDirtyRateCalcMode
Michal
--
Best regard
Hyman Huang(黄勇)