[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 7/8] BitmapLog: get the information about the par
From: |
Sanidhya Kashyap |
Subject: |
[Qemu-devel] [PATCH v4 7/8] BitmapLog: get the information about the parameters |
Date: |
Thu, 17 Jul 2014 16:51:20 +0530 |
Added the qmp interface to know about the information of the bitmap dump
process. When the command is executed, one can know about the current epoch
value in which the process is in, the total iterations value and the current
frequency value.
Currently, I do not think that that one needs to modify the other values
except frequency, so that is why I have not added the generic set-tuning
interface. If required, I will add it.
Signed-off-by: Sanidhya Kashyap <address@hidden>
---
qapi-schema.json | 31 +++++++++++++++++++++++++++++++
qmp-commands.hx | 24 ++++++++++++++++++++++++
savevm.c | 26 ++++++++++++++++++++++++++
3 files changed, 81 insertions(+)
diff --git a/qapi-schema.json b/qapi-schema.json
index 90977eb..1b09235d 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -3487,6 +3487,24 @@
{ 'command': 'rtc-reset-reinjection' }
##
+# @BitmapLogStateInfo
+#
+# Provides information for the bitmap logging process
+#
+# @currepoch: provides the value of the running epoch value
+#
+# @epochs: provides the information about the actual epoch
+#
+# @frequency: the time difference in milliseconds between each epcoh
+#
+# Since 2.2
+##
+{ 'type': 'BitmapLogStateInfo',
+ 'data': { 'currepoch': 'int',
+ 'epochs': 'int',
+ 'frequency': 'int' } }
+
+##
# @log-dirty-bitmap
#
# dumps the dirty bitmap to a file by logging the
@@ -3524,3 +3542,16 @@
{ 'command': 'log-dirty-bitmap-set-frequency',
'data': {'frequency': 'int' } }
+##
+# @log-dirty-bitmap-get-tuning
+#
+# Get the current values of the parameters involved in bitmap logging process
+#
+# This command returns the following elements in the form of
BitmapLogStateInfo:
+# - currepoch: current epoch value
+# - epochs: total epochs for which the bitmap dumping will continue
+# - frequently: the current sleep interval between each epoch
+#
+# Since 2.2
+##
+{ 'command': 'log-dirty-bitmap-get-tuning', 'returns': 'BitmapLogStateInfo' }
diff --git a/qmp-commands.hx b/qmp-commands.hx
index 0a13b74..3bd60e1 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -3830,3 +3830,27 @@ Example:
EQMP
+ {
+ .name = "log-dirty-bitmap-get-tuning",
+ .args_type = "",
+ .mhandler.cmd_new = qmp_marshal_input_log_dirty_bitmap_get_tuning,
+ },
+
+SQMP
+log-dirty-bitmap-get-tuning
+--------------------
+
+Get the parameters information
+
+- "currepoch": the current epoch going on
+- "epochs" the total number of assigned epochs
+- "frequency": the sleep interval between each epoch (in milliseconds)
+
+Example:
+
+-> { "execute": "log-dirty-bitmap-get-tuning" }
+<- { "return": {
+ "currepoch": 3
+ "epochs": 100
+ "frequency": 100 } }
+EQMP
diff --git a/savevm.c b/savevm.c
index d22771c..260c919 100644
--- a/savevm.c
+++ b/savevm.c
@@ -1495,6 +1495,32 @@ void qmp_log_dirty_bitmap_set_frequency(int64_t
frequency, Error **errp)
b->current_frequency = frequency;
}
+BitmapLogStateInfo *qmp_log_dirty_bitmap_get_tuning(Error **errp)
+{
+ BitmapLogState *b = logging_current_state();
+ BitmapLogStateInfo *info = NULL;
+
+ if (!runstate_check(RUN_STATE_DUMP_BITMAP) ||
+ b->state != LOG_BITMAP_STATE_ACTIVE) {
+ return info;
+ }
+
+ info = g_malloc0(sizeof(BitmapLogStateInfo));
+ info->currepoch = b->current_epoch;
+ info->epochs = b->total_epochs;
+ info->frequency = b->current_frequency;
+
+ if (!runstate_check(RUN_STATE_DUMP_BITMAP) ||
+ b->state != LOG_BITMAP_STATE_ACTIVE) {
+ g_free(info);
+ info = NULL;
+ error_setg(errp, "Dirty bitmap dump process is not running\n");
+ return info;
+ };
+
+ return info;
+}
+
void qmp_xen_save_devices_state(const char *filename, Error **errp)
{
QEMUFile *f;
--
1.9.3
- Re: [Qemu-devel] [PATCH v4 3/8] BitmapLog: bitmap dump code via QAPI framework with runstates, (continued)
- [Qemu-devel] [PATCH v4 4/8] BitmapLog: hmp interface for dirty bitmap dump, Sanidhya Kashyap, 2014/07/17
- [Qemu-devel] [PATCH v4 5/8] BitmapLog: cancel mechanism for an already running dump bitmap process, Sanidhya Kashyap, 2014/07/17
- [Qemu-devel] [PATCH v4 6/8] BitmapLog: set the frequency of the dump bitmap process, Sanidhya Kashyap, 2014/07/17
- [Qemu-devel] [PATCH v4 7/8] BitmapLog: get the information about the parameters,
Sanidhya Kashyap <=
- [Qemu-devel] [PATCH v4 8/8] BitmapLog: python script for extracting bitmap from a binary file, Sanidhya Kashyap, 2014/07/17
- Re: [Qemu-devel] [PATCH v4 0/8] Obtain dirty bitmap via VM logging, Dr. David Alan Gilbert, 2014/07/18
- Re: [Qemu-devel] [PATCH v4 0/8] Obtain dirty bitmap via VM logging, Eric Blake, 2014/07/18