From: mrhines@linux.vnet.ibm.com
To: qemu-devel@nongnu.org
Cc: aliguori@us.ibm.com, mst@redhat.com, owasserm@redhat.com,
abali@us.ibm.com, mrhines@us.ibm.com, gokul@us.ibm.com,
pbonzini@redhat.com
Subject: [Qemu-devel] [PULL 4/8] rdma: introduce capability for chunk registration
Date: Mon, 15 Apr 2013 22:44:42 -0400 [thread overview]
Message-ID: <1366080286-9288-5-git-send-email-mrhines@linux.vnet.ibm.com> (raw)
In-Reply-To: <1366080286-9288-1-git-send-email-mrhines@linux.vnet.ibm.com>
From: "Michael R. Hines" <mrhines@us.ibm.com>
This capability allows you to disable dynamic chunk registration
for better throughput on high-performance links.
It is enabled by default.
Signed-off-by: Michael R. Hines <mrhines@us.ibm.com>
---
include/migration/migration.h | 2 ++
migration.c | 11 ++++++++++-
qapi-schema.json | 2 +-
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/include/migration/migration.h b/include/migration/migration.h
index 0f4510f..e71ac12 100644
--- a/include/migration/migration.h
+++ b/include/migration/migration.h
@@ -144,4 +144,6 @@ size_t ram_control_save_page(QEMUFile *f, ram_addr_t block_offset,
ram_addr_t offset, size_t size);
void ram_handle_compressed(void *host, uint8_t ch, uint64_t size);
+
+bool migrate_chunk_register_destination(void);
#endif
diff --git a/migration.c b/migration.c
index 3b4b467..b46e103 100644
--- a/migration.c
+++ b/migration.c
@@ -66,6 +66,7 @@ MigrationState *migrate_get_current(void)
.state = MIG_STATE_SETUP,
.bandwidth_limit = MAX_THROTTLE,
.xbzrle_cache_size = DEFAULT_MIGRATE_CACHE_SIZE,
+ .enabled_capabilities[MIGRATION_CAPABILITY_CHUNK_REGISTER_DESTINATION] = true,
};
return ¤t_migration;
@@ -120,7 +121,6 @@ void process_incoming_migration(QEMUFile *f)
Coroutine *co = qemu_coroutine_create(process_incoming_migration_co);
int fd = qemu_get_fd(f);
- assert(fd != -1);
qemu_set_nonblock(fd);
qemu_coroutine_enter(co, f);
}
@@ -474,6 +474,15 @@ void qmp_migrate_set_downtime(double value, Error **errp)
max_downtime = (uint64_t)value;
}
+bool migrate_chunk_register_destination(void)
+{
+ MigrationState *s;
+
+ s = migrate_get_current();
+
+ return s->enabled_capabilities[MIGRATION_CAPABILITY_CHUNK_REGISTER_DESTINATION];
+}
+
int migrate_use_xbzrle(void)
{
MigrationState *s;
diff --git a/qapi-schema.json b/qapi-schema.json
index 751d3c2..691bae6 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -602,7 +602,7 @@
# Since: 1.2
##
{ 'enum': 'MigrationCapability',
- 'data': ['xbzrle'] }
+ 'data': ['xbzrle', 'chunk_register_destination'] }
##
# @MigrationCapabilityStatus
--
1.7.10.4
next prev parent reply other threads:[~2013-04-16 2:45 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-16 2:44 [Qemu-devel] [PULL 0/8] rdma: migration support mrhines
2013-04-16 2:44 ` [Qemu-devel] [PULL 1/8] rdma: introduce qemu_ram_foreach_block mrhines
2013-04-16 2:44 ` [Qemu-devel] [PULL 2/8] rdma: new QEMUFileOps hooks mrhines
2013-04-16 3:24 ` Paolo Bonzini
2013-04-16 4:44 ` Michael R. Hines
2013-04-16 2:44 ` [Qemu-devel] [PULL 3/8] rdma: export ram_handle_compressed() mrhines
2013-04-16 2:44 ` mrhines [this message]
2013-04-16 4:50 ` [Qemu-devel] [PULL 4/8] rdma: introduce capability for chunk registration Paolo Bonzini
2013-04-16 12:58 ` Eric Blake
2013-04-16 14:54 ` Michael R. Hines
2013-04-16 2:44 ` [Qemu-devel] [PULL 5/8] rdma: core rdma logic mrhines
2013-04-16 4:49 ` Paolo Bonzini
2013-04-16 6:09 ` Paolo Bonzini
2013-04-16 14:48 ` Michael R. Hines
2013-04-17 3:27 ` Michael R. Hines
2013-04-17 8:58 ` Paolo Bonzini
2013-04-17 15:59 ` Michael R. Hines
2013-04-17 16:48 ` Paolo Bonzini
2013-04-16 2:44 ` [Qemu-devel] [PULL 6/8] rdma: send pc.ram mrhines
2013-04-16 3:25 ` Paolo Bonzini
2013-04-16 2:44 ` [Qemu-devel] [PULL 7/8] rdma: print out throughput while debugging mrhines
2013-04-16 2:44 ` [Qemu-devel] [PULL 8/8] rdma: add documentation mrhines
2013-04-16 3:23 ` [Qemu-devel] [PULL 0/8] rdma: migration support Paolo Bonzini
2013-04-16 14:32 ` Anthony Liguori
2013-04-16 14:34 ` Paolo Bonzini
2013-04-16 15:42 ` Anthony Liguori
2013-04-16 14:52 ` Michael R. Hines
2013-04-16 14:53 ` Paolo Bonzini
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=1366080286-9288-5-git-send-email-mrhines@linux.vnet.ibm.com \
--to=mrhines@linux.vnet.ibm.com \
--cc=abali@us.ibm.com \
--cc=aliguori@us.ibm.com \
--cc=gokul@us.ibm.com \
--cc=mrhines@us.ibm.com \
--cc=mst@redhat.com \
--cc=owasserm@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).