From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
John Snow <jsnow@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Juan Quintela <quintela@redhat.com>,
qemu-block@nongnu.org, Hailiang Zhang <zhanghailiang@xfusion.com>,
Fam Zheng <fam@euphon.net>, "Michael S. Tsirkin" <mst@redhat.com>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
Eric Blake <eblake@redhat.com>
Subject: [PATCH 08/43] migration: Move migrate_use_multifd() to options.c
Date: Thu, 2 Mar 2023 17:33:35 +0100 [thread overview]
Message-ID: <20230302163410.11399-9-quintela@redhat.com> (raw)
In-Reply-To: <20230302163410.11399-1-quintela@redhat.com>
Once that we are there, we rename the function to migrate_multifd()
to be consistent with all other capabilities.
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
migration/migration.h | 1 -
migration/options.h | 1 +
migration/migration.c | 19 +++++--------------
migration/multifd.c | 16 ++++++++--------
migration/options.c | 9 +++++++++
migration/ram.c | 2 +-
migration/socket.c | 2 +-
7 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/migration/migration.h b/migration/migration.h
index 9d0b1fa45b..19008fae0b 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -410,7 +410,6 @@ MigrationState *migrate_get_current(void);
bool migrate_postcopy(void);
-bool migrate_use_multifd(void);
int migrate_multifd_channels(void);
MultiFDCompression migrate_multifd_compression(void);
int migrate_multifd_zlib_level(void);
diff --git a/migration/options.h b/migration/options.h
index caf3b3aa69..a4f05a5e13 100644
--- a/migration/options.h
+++ b/migration/options.h
@@ -26,6 +26,7 @@ bool migrate_dirty_bitmaps(void);
bool migrate_events(void);
bool migrate_ignore_shared(void);
bool migrate_late_block_activate(void);
+bool migrate_multifd(void);
bool migrate_pause_before_switchover(void);
bool migrate_postcopy_blocktime(void);
bool migrate_postcopy_preempt(void);
diff --git a/migration/migration.c b/migration/migration.c
index 6c87aab8af..97daab9fd4 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -186,7 +186,7 @@ static void migrate_fd_cancel(MigrationState *s);
static bool migration_needs_multiple_sockets(void)
{
- return migrate_use_multifd() || migrate_postcopy_preempt();
+ return migrate_multifd() || migrate_postcopy_preempt();
}
static bool uri_supports_multi_channels(const char *uri)
@@ -732,7 +732,7 @@ void migration_fd_process_incoming(QEMUFile *f, Error **errp)
static bool migration_should_start_incoming(bool main_channel)
{
/* Multifd doesn't start unless all channels are established */
- if (migrate_use_multifd()) {
+ if (migrate_multifd()) {
return migration_has_all_channels();
}
@@ -759,7 +759,7 @@ void migration_ioc_process_incoming(QIOChannel *ioc, Error **errp)
uint32_t channel_magic = 0;
int ret = 0;
- if (migrate_use_multifd() && !migrate_postcopy_ram() &&
+ if (migrate_multifd() && !migrate_postcopy_ram() &&
qio_channel_has_feature(ioc, QIO_CHANNEL_FEATURE_READ_MSG_PEEK)) {
/*
* With multiple channels, it is possible that we receive channels
@@ -798,7 +798,7 @@ void migration_ioc_process_incoming(QIOChannel *ioc, Error **errp)
} else {
/* Multiple connections */
assert(migration_needs_multiple_sockets());
- if (migrate_use_multifd()) {
+ if (migrate_multifd()) {
multifd_recv_new_channel(ioc, &local_err);
} else {
assert(migrate_postcopy_preempt());
@@ -834,7 +834,7 @@ bool migration_has_all_channels(void)
return false;
}
- if (migrate_use_multifd()) {
+ if (migrate_multifd()) {
return multifd_recv_all_channels_created();
}
@@ -2556,15 +2556,6 @@ int migrate_decompress_threads(void)
return s->parameters.decompress_threads;
}
-bool migrate_use_multifd(void)
-{
- MigrationState *s;
-
- s = migrate_get_current();
-
- return s->capabilities[MIGRATION_CAPABILITY_MULTIFD];
-}
-
int migrate_multifd_channels(void)
{
MigrationState *s;
diff --git a/migration/multifd.c b/migration/multifd.c
index 91552d33bf..95127feb8b 100644
--- a/migration/multifd.c
+++ b/migration/multifd.c
@@ -516,7 +516,7 @@ void multifd_save_cleanup(void)
{
int i;
- if (!migrate_use_multifd()) {
+ if (!migrate_multifd()) {
return;
}
multifd_send_terminate_threads(NULL);
@@ -587,7 +587,7 @@ int multifd_send_sync_main(QEMUFile *f)
int i;
bool flush_zero_copy;
- if (!migrate_use_multifd()) {
+ if (!migrate_multifd()) {
return 0;
}
if (multifd_send_state->pages->num) {
@@ -910,7 +910,7 @@ int multifd_save_setup(Error **errp)
uint32_t page_count = MULTIFD_PACKET_SIZE / qemu_target_page_size();
uint8_t i;
- if (!migrate_use_multifd()) {
+ if (!migrate_multifd()) {
return 0;
}
@@ -1015,7 +1015,7 @@ static void multifd_recv_terminate_threads(Error *err)
void multifd_load_shutdown(void)
{
- if (migrate_use_multifd()) {
+ if (migrate_multifd()) {
multifd_recv_terminate_threads(NULL);
}
}
@@ -1024,7 +1024,7 @@ void multifd_load_cleanup(void)
{
int i;
- if (!migrate_use_multifd()) {
+ if (!migrate_multifd()) {
return;
}
multifd_recv_terminate_threads(NULL);
@@ -1071,7 +1071,7 @@ void multifd_recv_sync_main(void)
{
int i;
- if (!migrate_use_multifd()) {
+ if (!migrate_multifd()) {
return;
}
for (i = 0; i < migrate_multifd_channels(); i++) {
@@ -1169,7 +1169,7 @@ int multifd_load_setup(Error **errp)
* Return successfully if multiFD recv state is already initialised
* or multiFD is not enabled.
*/
- if (multifd_recv_state || !migrate_use_multifd()) {
+ if (multifd_recv_state || !migrate_multifd()) {
return 0;
}
@@ -1215,7 +1215,7 @@ bool multifd_recv_all_channels_created(void)
{
int thread_count = migrate_multifd_channels();
- if (!migrate_use_multifd()) {
+ if (!migrate_multifd()) {
return true;
}
diff --git a/migration/options.c b/migration/options.c
index 507b71631e..59663c460e 100644
--- a/migration/options.c
+++ b/migration/options.c
@@ -86,6 +86,15 @@ bool migrate_late_block_activate(void)
return s->capabilities[MIGRATION_CAPABILITY_LATE_BLOCK_ACTIVATE];
}
+bool migrate_multifd(void)
+{
+ MigrationState *s;
+
+ s = migrate_get_current();
+
+ return s->capabilities[MIGRATION_CAPABILITY_MULTIFD];
+}
+
bool migrate_pause_before_switchover(void)
{
MigrationState *s;
diff --git a/migration/ram.c b/migration/ram.c
index 98ad8e0130..59a624f59a 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -2368,7 +2368,7 @@ static int ram_save_target_page_legacy(RAMState *rs, PageSearchStatus *pss)
* if host page size == guest page size the dest guest during run may
* still see partially copied pages which is data corruption.
*/
- if (migrate_use_multifd() && !migration_in_postcopy()) {
+ if (migrate_multifd() && !migration_in_postcopy()) {
return ram_save_multifd_page(pss->pss_channel, block, offset);
}
diff --git a/migration/socket.c b/migration/socket.c
index ebf9ac41af..f4835a256a 100644
--- a/migration/socket.c
+++ b/migration/socket.c
@@ -183,7 +183,7 @@ socket_start_incoming_migration_internal(SocketAddress *saddr,
qio_net_listener_set_name(listener, "migration-socket-listener");
- if (migrate_use_multifd()) {
+ if (migrate_multifd()) {
num = migrate_multifd_channels();
} else if (migrate_postcopy_preempt()) {
num = RAM_CHANNEL_MAX;
--
2.39.2
next prev parent reply other threads:[~2023-03-02 16:37 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-02 16:33 [PATCH 00/43] Migration: Create options.c for capabilities/params/properties Juan Quintela
2023-03-02 16:33 ` [PATCH 01/43] migration: rename enabled_capabilities to capabilities Juan Quintela
2023-03-06 14:27 ` Vladimir Sementsov-Ogievskiy
2023-03-02 16:33 ` [PATCH 02/43] migration: Pass migrate_caps_check() the old and new caps Juan Quintela
2023-03-06 14:40 ` Vladimir Sementsov-Ogievskiy
2023-03-02 16:33 ` [PATCH 03/43] migration: Create migration_cap_set() Juan Quintela
2023-03-08 10:47 ` Dr. David Alan Gilbert
2023-04-20 12:32 ` Juan Quintela
2023-03-02 16:33 ` [PATCH 04/43] migration: create options.c Juan Quintela
2023-03-08 9:46 ` Dr. David Alan Gilbert
2023-04-20 13:02 ` Juan Quintela
2023-03-02 16:33 ` [PATCH 05/43] migration: Move migrate_colo_enabled() to options.c Juan Quintela
2023-04-20 12:54 ` Vladimir Sementsov-Ogievskiy
2023-03-02 16:33 ` [PATCH 06/43] migration: Move migrate_use_compression() " Juan Quintela
2023-04-20 12:58 ` Vladimir Sementsov-Ogievskiy
2023-04-20 13:32 ` Juan Quintela
2023-03-02 16:33 ` [PATCH 07/43] migration: Move migrate_use_events() " Juan Quintela
2023-04-20 13:00 ` Vladimir Sementsov-Ogievskiy
2023-03-02 16:33 ` Juan Quintela [this message]
2023-04-20 13:01 ` [PATCH 08/43] migration: Move migrate_use_multifd() " Vladimir Sementsov-Ogievskiy
2023-03-02 16:33 ` [PATCH 09/43] migration: Move migrate_use_zero_copy_send() " Juan Quintela
2023-04-20 13:06 ` Vladimir Sementsov-Ogievskiy
2023-03-02 16:33 ` [PATCH 10/43] migration: Move migrate_use_xbzrle() " Juan Quintela
2023-04-20 13:07 ` Vladimir Sementsov-Ogievskiy
2023-03-02 16:33 ` [PATCH 11/43] migration: Move migrate_use_block() " Juan Quintela
2023-04-20 13:08 ` Vladimir Sementsov-Ogievskiy
2023-03-02 16:33 ` [PATCH 12/43] migration: Move migrate_use_return() " Juan Quintela
2023-04-20 13:09 ` Vladimir Sementsov-Ogievskiy
2023-03-02 16:33 ` [PATCH 13/43] migration: Create migrate_rdma_pin_all() function Juan Quintela
2023-04-20 13:12 ` Vladimir Sementsov-Ogievskiy
2023-03-02 16:33 ` [PATCH 14/43] migration: Move migrate_caps_check() to options.c Juan Quintela
2023-03-02 16:33 ` [PATCH 15/43] migration: Move qmp_query_migrate_capabilities() " Juan Quintela
2023-03-02 16:33 ` [PATCH 16/43] migration: Move qmp_migrate_set_capabilities() " Juan Quintela
2023-03-02 16:33 ` [PATCH 17/43] migration: Move migrate_cap_set() " Juan Quintela
2023-03-02 16:33 ` [PATCH 18/43] migration: Move parameters functions to option.c Juan Quintela
2023-03-02 16:33 ` [PATCH 19/43] migration: Use migrate_max_postcopy_bandwidth() Juan Quintela
2023-03-02 16:33 ` [PATCH 20/43] migration: Move migrate_use_block_incremental() to option.c Juan Quintela
2023-03-02 16:33 ` [PATCH 21/43] migration: Create migrate_throttle_trigger_threshold() Juan Quintela
2023-03-02 16:33 ` [PATCH 22/43] migration: Create migrate_checkpoint_delay() Juan Quintela
2023-03-02 16:33 ` [PATCH 23/43] migration: Create migrate_max_cpu_throttle() Juan Quintela
2023-03-02 16:33 ` [PATCH 24/43] migration: Move migrate_announce_params() to option.c Juan Quintela
2023-03-02 16:33 ` [PATCH 25/43] migration: Create migrate_cpu_throttle_initial() " Juan Quintela
2023-03-02 16:33 ` [PATCH 26/43] migration: Create migrate_cpu_throttle_increment() function Juan Quintela
2023-03-02 16:33 ` [PATCH 27/43] migration: Create migrate_cpu_throttle_tailslow() function Juan Quintela
2023-03-02 16:33 ` [PATCH 28/43] migration: Move migrate_use_tls() to options.c Juan Quintela
2023-03-02 16:33 ` [PATCH 29/43] migration: Move migrate_postcopy() " Juan Quintela
2023-03-02 16:33 ` [PATCH 30/43] migration: Create migrate_max_bandwidth() function Juan Quintela
2023-03-02 16:33 ` [PATCH 31/43] migration: Move qmp_query_migrate_parameters() to options.c Juan Quintela
2023-03-02 16:33 ` [PATCH 32/43] migration: Move qmp_migrate_set_parameters() " Juan Quintela
2023-03-02 16:34 ` [PATCH 33/43] migration: Create migrate_params_init() function Juan Quintela
2023-03-02 16:34 ` [PATCH 34/43] migration: Make all functions check have the same format Juan Quintela
2023-03-02 16:34 ` [PATCH 35/43] migration: Create migrate_downtime_limit() function Juan Quintela
2023-03-02 16:34 ` [PATCH 36/43] migration: Move migrate_set_block_incremental() to options.c Juan Quintela
2023-03-02 16:34 ` [PATCH 37/43] migration: Move block_cleanup_parameters() " Juan Quintela
2023-03-02 16:34 ` [PATCH 38/43] migration: Remove MigrationState from block_cleanup_parameters() Juan Quintela
2023-03-02 16:34 ` [PATCH 39/43] migration: Create migrate_tls_creds() function Juan Quintela
2023-03-02 16:34 ` [PATCH 40/43] migration: Create migrate_tls_authz() function Juan Quintela
2023-03-02 16:34 ` [PATCH 41/43] migration: Create migrate_tls_hostname() function Juan Quintela
2023-03-02 16:34 ` [PATCH 42/43] migration: Create migrate_block_bitmap_mapping() function Juan Quintela
2023-03-02 16:34 ` [PATCH 43/43] migration: Move migration_properties to options.c Juan Quintela
2023-03-06 14:29 ` [PATCH 00/43] Migration: Create options.c for capabilities/params/properties Vladimir Sementsov-Ogievskiy
2023-04-20 13:08 ` Juan Quintela
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=20230302163410.11399-9-quintela@redhat.com \
--to=quintela@redhat.com \
--cc=david@redhat.com \
--cc=dgilbert@redhat.com \
--cc=eblake@redhat.com \
--cc=fam@euphon.net \
--cc=jsnow@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
--cc=vsementsov@yandex-team.ru \
--cc=zhanghailiang@xfusion.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 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).