[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/3] migration: fix migrate_cancel leads live_mi
From: |
Juan Quintela |
Subject: |
Re: [Qemu-devel] [PATCH 2/3] migration: fix migrate_cancel leads live_migration thread hung forever |
Date: |
Wed, 24 Jul 2019 11:18:40 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
Ivan Ren <address@hidden> wrote:
> When we 'migrate_cancel' a multifd migration, live_migration thread may
> hung forever at some points, because of multifd_send_thread has already
> exit for socket error:
> 1. multifd_send_pages may hung at qemu_sem_wait(&multifd_send_state->
> channels_ready)
> 2. multifd_send_sync_main my hung at qemu_sem_wait(&multifd_send_state->
> sem_sync)
>
> Signed-off-by: Ivan Ren <address@hidden>
> ---
> + if (ret != 0) {
> + if (flags & MULTIFD_FLAG_SYNC) {
> + qemu_sem_post(&multifd_send_state->sem_sync);
flags is also needed.
Sorry, Juan.
> + }
> + qemu_sem_post(&multifd_send_state->channels_ready);
> + }
> +
> qemu_mutex_lock(&p->mutex);
> p->running = false;
> qemu_mutex_unlock(&p->mutex);