From: Sanidhya Kashyap <sanidhya.iiith@gmail.com>
To: qemu list <qemu-devel@nongnu.org>
Cc: Juan Quintela <quintela@redhat.com>
Subject: [Qemu-devel] [PATCH 5/6] set the frequency of the dump bitmap process
Date: Tue, 20 May 2014 23:17:54 +0530 [thread overview]
Message-ID: <1400608075-19917-6-git-send-email-sanidhya.iiith@gmail.com> (raw)
In-Reply-To: <1400608075-19917-1-git-send-email-sanidhya.iiith@gmail.com>
This patch introduces both qmp and hmp (log-dirty-bitmap-set-frequency)
interface to update the value of the frequency.
Signed-off-by: Sanidhya Kashyap <sanidhya.iiith@gmail.com>
---
hmp-commands.hx | 15 +++++++++++++++
hmp.c | 12 ++++++++++++
hmp.h | 1 +
qapi-schema.json | 8 ++++++++
qmp-commands.hx | 23 +++++++++++++++++++++++
savevm.c | 7 +++++++
6 files changed, 66 insertions(+)
diff --git a/hmp-commands.hx b/hmp-commands.hx
index a8e13b3..38c1b9d 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -1805,6 +1805,21 @@ STEXI
Cancel the current VM migration.
ETEXI
+ {
+ .name = "ldbsf|log-dirty-bitmap-set-frequency",
+ .args_type = "frequency:i",
+ .params = "frequency",
+ .help = "set the frequency for memory logging\n\t\t\t"
+ "frequency: the new frequency value to replace the existing",
+ .mhandler.cmd = hmp_log_dirty_bitmap_set_frequency,
+ },
+
+STEXI
+@item ldbsf or log-dirty-bitmap-set-frequency @var{frequency}
+@findex log-dirty-bitmap-set-frequency
+Set the frequency to @var{frequency} (int) for memory logging.
+ETEXI
+
STEXI
@end table
ETEXI
diff --git a/hmp.c b/hmp.c
index 7bbbaad..297db3d 100644
--- a/hmp.c
+++ b/hmp.c
@@ -1333,6 +1333,18 @@ void hmp_log_dirty_bitmap_cancel(Monitor *mon, const QDict *qdict)
qmp_log_dirty_bitmap_cancel(NULL);
}
+void hmp_log_dirty_bitmap_set_frequency(Monitor *mon, const QDict *qdict)
+{
+ int64_t frequency = qdict_get_int(qdict, "frequency");
+ Error *err = NULL;
+ qmp_log_dirty_bitmap_set_frequency(frequency, &err);
+ if (err) {
+ monitor_printf(mon, "log-dirty-bitmap-set-frequency: %s\n",
+ error_get_pretty(err));
+ error_free(err);
+ }
+}
+
void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict)
{
Error *err = NULL;
diff --git a/hmp.h b/hmp.h
index d98b2ae..21d5e88 100644
--- a/hmp.h
+++ b/hmp.h
@@ -95,6 +95,7 @@ void hmp_object_add(Monitor *mon, const QDict *qdict);
void hmp_object_del(Monitor *mon, const QDict *qdict);
void hmp_log_dirty_bitmap(Monitor *mon, const QDict *qdict);
void hmp_log_dirty_bitmap_cancel(Monitor *mon, const QDict *qdict);
+void hmp_log_dirty_bitmap_set_frequency(Monitor *mon, const QDict *qdict);
void object_add_completion(ReadLineState *rs, int nb_args, const char *str);
void object_del_completion(ReadLineState *rs, int nb_args, const char *str);
void device_add_completion(ReadLineState *rs, int nb_args, const char *str);
diff --git a/qapi-schema.json b/qapi-schema.json
index e897adb..ccef4d8 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -4715,3 +4715,11 @@
# cancel the dirty bitmap logging process
##
{ 'command': 'log-dirty-bitmap-cancel' }
+
+## @log-dirty-bitmap-set-frequency
+#
+# sets the frequency of the dirty bitmap logging process
+##
+{ 'command': 'log-dirty-bitmap-set-frequency',
+ 'data': {'frequency': 'int' } }
+
diff --git a/qmp-commands.hx b/qmp-commands.hx
index 55b2251..fe12d05 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -3623,3 +3623,26 @@ Example:
<- { "return": {} }
EQMP
+
+ {
+ .name = "log-dirty-bitmap-set-frequency",
+ .args_type = "frequency:i",
+ .mhandler.cmd_new = qmp_marshal_input_log_dirty_bitmap_set_frequency,
+ },
+
+SQMP
+log-dirty-bitmap-set-frequency
+--------------------
+
+Update the frequency for the remaining epochs.
+
+Arguments:
+
+- "frequency": the updated frequency (json-int)
+
+Example:
+
+-> { "execute": "log-dirty-bitmap-set-frequency", "arguments": { "value": 1024 } }
+<- { "return": {} }
+
+EQMP
diff --git a/savevm.c b/savevm.c
index 1859f57..7551891 100644
--- a/savevm.c
+++ b/savevm.c
@@ -1339,6 +1339,13 @@ void qmp_log_dirty_bitmap_cancel(Error **errp)
logging_bitmap_cancel(logging_current_state());
}
+void qmp_log_dirty_bitmap_set_frequency(int64_t frequency, Error **errp)
+{
+ BitmapLogState *b = logging_current_state();
+ check_frequency_value(&frequency, errp);
+ b->current_frequency = frequency;
+}
+
void qmp_xen_save_devices_state(const char *filename, Error **errp)
{
QEMUFile *f;
--
1.8.3.1
next prev parent reply other threads:[~2014-05-20 17:48 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-20 17:47 [Qemu-devel] [PATCH 0/6] Obtain dirty bitmap via VM logging Sanidhya Kashyap
2014-05-20 17:47 ` [Qemu-devel] [PATCH 1/6] split dirty bitmap into four for dumping the bitmaps Sanidhya Kashyap
2014-05-20 17:47 ` [Qemu-devel] [PATCH 2/6] bitmap dump code via QAPI framework Sanidhya Kashyap
2014-05-20 19:03 ` Eric Blake
2014-05-20 19:25 ` Sanidhya Kashyap
2014-05-20 17:47 ` [Qemu-devel] [PATCH 3/6] hmp interface for dirty bitmap dump Sanidhya Kashyap
2014-05-20 17:47 ` [Qemu-devel] [PATCH 4/6] cancel mechanism for an already running dump bitmap process Sanidhya Kashyap
2014-05-20 19:34 ` Eric Blake
2014-05-20 17:47 ` Sanidhya Kashyap [this message]
2014-05-20 19:36 ` [Qemu-devel] [PATCH 5/6] set the frequency of the " Eric Blake
2014-05-20 17:47 ` [Qemu-devel] [PATCH 6/6] python script for extracting bitmap from a binary file Sanidhya Kashyap
2014-05-20 19:38 ` Eric Blake
2014-05-20 19:39 ` Eric Blake
2014-05-21 0:43 ` Sanidhya Kashyap
2014-05-21 4:13 ` [Qemu-devel] [PATCH 0/6] Obtain dirty bitmap via VM logging ChenLiang
2014-05-21 4:56 ` Sanidhya Kashyap
2014-05-21 6:45 ` ChenLiang
2014-05-21 6:55 ` Sanidhya Kashyap
2014-05-22 11:21 ` Sanidhya Kashyap
2014-05-22 12:57 ` ChenLiang
2014-05-23 2:30 ` Sanidhya Kashyap
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1400608075-19917-6-git-send-email-sanidhya.iiith@gmail.com \
--to=sanidhya.iiith@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.