From: Juan Quintela <quintela@redhat.com>
To: Jiang Jiacheng <jiangjiacheng@huawei.com>
Cc: <qemu-devel@nongnu.org>, <berrange@redhat.com>,
<dgilbert@redhat.com>, <yubihong@huawei.com>,
<xiexiangyou@huawei.com>, <zhengchuan@huawei.com>,
<linyilu@huawei.com>
Subject: Re: [PATCH 3/3] migration: save/delete migration thread info
Date: Mon, 30 Jan 2023 05:28:49 +0100 [thread overview]
Message-ID: <87k014odby.fsf@secure.mitica> (raw)
In-Reply-To: <20230120084735.825054-4-jiangjiacheng@huawei.com> (Jiang Jiacheng's message of "Fri, 20 Jan 2023 16:47:35 +0800")
Jiang Jiacheng <jiangjiacheng@huawei.com> wrote:
> To support query migration thread infomation, save and delete
> thread information at thread creation and end.
>
> Signed-off-by: Jiang Jiacheng <jiangjiacheng@huawei.com>
Don't disagree with this, but if we create this on the sending side, why
this is not needed for the multifd_recv_threads?
Later, Juan.
> ---
> migration/migration.c | 4 ++++
> migration/multifd.c | 4 ++++
> 2 files changed, 8 insertions(+)
>
> diff --git a/migration/migration.c b/migration/migration.c
> index b4ce458bb9..957205e693 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -57,6 +57,7 @@
> #include "net/announce.h"
> #include "qemu/queue.h"
> #include "multifd.h"
> +#include "threadinfo.h"
> #include "qemu/yank.h"
> #include "sysemu/cpus.h"
> #include "yank_functions.h"
> @@ -3951,10 +3952,12 @@ static void qemu_savevm_wait_unplug(MigrationState *s, int old_state,
> static void *migration_thread(void *opaque)
> {
> MigrationState *s = opaque;
> + MigrationThread *thread = NULL;
> int64_t setup_start = qemu_clock_get_ms(QEMU_CLOCK_HOST);
> MigThrError thr_error;
> bool urgent = false;
>
> + thread = MigrationThreadAdd("live_migration", qemu_get_thread_id());
> /* report migration thread name to libvirt */
> qapi_event_send_migration_name("live_migration");
>
> @@ -4034,6 +4037,7 @@ static void *migration_thread(void *opaque)
> migration_iteration_finish(s);
> object_unref(OBJECT(s));
> rcu_unregister_thread();
> + MigrationThreadDel(thread);
> return NULL;
> }
>
> diff --git a/migration/multifd.c b/migration/multifd.c
> index 6e834c7111..fca06284de 100644
> --- a/migration/multifd.c
> +++ b/migration/multifd.c
> @@ -25,6 +25,7 @@
> #include "qemu-file.h"
> #include "trace.h"
> #include "multifd.h"
> +#include "threadinfo.h"
> #include "qemu/yank.h"
> #include "io/channel-socket.h"
> #include "yank_functions.h"
> @@ -646,10 +647,12 @@ int multifd_send_sync_main(QEMUFile *f)
> static void *multifd_send_thread(void *opaque)
> {
> MultiFDSendParams *p = opaque;
> + MigrationThread *thread = NULL;
> Error *local_err = NULL;
> int ret = 0;
> bool use_zero_copy_send = migrate_use_zero_copy_send();
>
> + thread = MigrationThreadAdd(p->name, qemu_get_thread_id());
> /* report multifd thread name to libvirt */
> qapi_event_send_migration_name(p->name);
>
> @@ -762,6 +765,7 @@ out:
> qemu_mutex_unlock(&p->mutex);
>
> rcu_unregister_thread();
> + MigrationThreadDel(thread);
> trace_multifd_send_thread_end(p->id, p->num_packets, p->total_normal_pages);
>
> return NULL;
next prev parent reply other threads:[~2023-01-30 4:29 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-20 8:47 [RFC PATCH 0/3] migration: support query migration thread information Jiang Jiacheng via
2023-01-20 8:47 ` [PATCH 1/3] migration: report migration thread name to libvirt Jiang Jiacheng via
2023-01-30 4:19 ` Juan Quintela
2023-01-30 12:48 ` Jiang Jiacheng via
2023-01-20 8:47 ` [PATCH 2/3] migration: implement query migration threadinfo by name Jiang Jiacheng via
2023-01-30 4:27 ` Juan Quintela
2023-01-30 12:48 ` Jiang Jiacheng via
2023-01-30 14:03 ` Juan Quintela
2023-01-31 13:00 ` Jiang Jiacheng via
2023-01-31 16:33 ` Juan Quintela
2023-01-20 8:47 ` [PATCH 3/3] migration: save/delete migration thread info Jiang Jiacheng via
2023-01-30 4:28 ` Juan Quintela [this message]
2023-01-30 12:49 ` Jiang Jiacheng via
2023-01-30 14:04 ` Juan Quintela
2023-01-31 13:00 ` Jiang Jiacheng via
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=87k014odby.fsf@secure.mitica \
--to=quintela@redhat.com \
--cc=berrange@redhat.com \
--cc=dgilbert@redhat.com \
--cc=jiangjiacheng@huawei.com \
--cc=linyilu@huawei.com \
--cc=qemu-devel@nongnu.org \
--cc=xiexiangyou@huawei.com \
--cc=yubihong@huawei.com \
--cc=zhengchuan@huawei.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.