aboutsummaryrefslogtreecommitdiff
path: root/hmp.c
diff options
context:
space:
mode:
authorOrit Wasserman <owasserm@redhat.com>2012-08-06 21:42:54 +0300
committerJuan Quintela <quintela@redhat.com>2012-08-08 13:51:12 +0200
commit9e1ba4cc4e2536d9650e84e2614c5691ed45938f (patch)
tree33337a2809496c43cf6d2c68d66fcba8d61ad8db /hmp.c
parent17ad9b358bceba78ae80f2963c6036eab726010c (diff)
downloadqemu-9e1ba4cc4e2536d9650e84e2614c5691ed45938f.zip
qemu-9e1ba4cc4e2536d9650e84e2614c5691ed45938f.tar.gz
qemu-9e1ba4cc4e2536d9650e84e2614c5691ed45938f.tar.bz2
Add migrate_set_cache_size command
Change XBZRLE cache size in bytes (the size should be a power of 2, it will be rounded down to the nearest power of 2). If XBZRLE cache size is too small there will be many cache miss. New query-migrate-cache-size QMP command and 'info migrate_cache_size' HMP command to query cache value. Signed-off-by: Benoit Hudzia <benoit.hudzia@sap.com> Signed-off-by: Petter Svard <petters@cs.umu.se> Signed-off-by: Aidan Shribman <aidan.shribman@sap.com> Signed-off-by: Orit Wasserman <owasserm@redhat.com> Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'hmp.c')
-rw-r--r--hmp.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/hmp.c b/hmp.c
index 2a03b44..8abb4bd 100644
--- a/hmp.c
+++ b/hmp.c
@@ -194,6 +194,12 @@ void hmp_info_migrate_capabilities(Monitor *mon)
qapi_free_MigrationCapabilityStatusList(caps);
}
+void hmp_info_migrate_cache_size(Monitor *mon)
+{
+ monitor_printf(mon, "xbzrel cache size: %" PRId64 " kbytes\n",
+ qmp_query_migrate_cache_size(NULL) >> 10);
+}
+
void hmp_info_cpus(Monitor *mon)
{
CpuInfoList *cpu_list, *cpu;
@@ -764,6 +770,19 @@ void hmp_migrate_set_downtime(Monitor *mon, const QDict *qdict)
qmp_migrate_set_downtime(value, NULL);
}
+void hmp_migrate_set_cache_size(Monitor *mon, const QDict *qdict)
+{
+ int64_t value = qdict_get_int(qdict, "value");
+ Error *err = NULL;
+
+ qmp_migrate_set_cache_size(value, &err);
+ if (err) {
+ monitor_printf(mon, "%s\n", error_get_pretty(err));
+ error_free(err);
+ return;
+ }
+}
+
void hmp_migrate_set_speed(Monitor *mon, const QDict *qdict)
{
int64_t value = qdict_get_int(qdict, "value");