qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jiang Jiacheng via <qemu-devel@nongnu.org>
To: <quintela@redhat.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 20:49:11 +0800	[thread overview]
Message-ID: <b059cf27-73dd-addf-58bb-2078c3aa985f@huawei.com> (raw)
In-Reply-To: <87k014odby.fsf@secure.mitica>



On 2023/1/30 12:28, Juan Quintela wrote:
> 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?
> 

I only add several threads which i'm interested in into the list till
now, whose information will be used for setting cpu affinity for
migration thread.
For consistency, we can add other threads to the list, but those
information won't be used so far.

Thanks, Jiang Jiacheng

> 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;
> 


  reply	other threads:[~2023-01-30 12:49 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
2023-01-30 12:49     ` Jiang Jiacheng via [this message]
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=b059cf27-73dd-addf-58bb-2078c3aa985f@huawei.com \
    --to=qemu-devel@nongnu.org \
    --cc=berrange@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=jiangjiacheng@huawei.com \
    --cc=linyilu@huawei.com \
    --cc=quintela@redhat.com \
    --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 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).