Fabiano Rosas <faro...@suse.de> wrote:
> We don't need to check p->quit in the multifd_send_thread() because it
> is shadowed by the 'exiting' flag. Ever since that flag was added
> p->quit became obsolete as a way to stop the thread.
>
> Since p->quit is set at multifd_send_terminate_threads() under the
> p->mutex lock, the thread will only see it once it loops, so 'exiting'
> will always be seen first.
>
> Note that setting p->quit at multifd_send_terminate_threads() still
> makes sense because we need a way to inform multifd_send_pages() that
> the channel has stopped.
>
> Signed-off-by: Fabiano Rosas <faro...@suse.de>

Reviewed-by: Juan Quintela <quint...@redhat.com>

But then should we remove the quit altogether?

> ---
>  migration/multifd.c | 3 ---
>  1 file changed, 3 deletions(-)
>
> diff --git a/migration/multifd.c b/migration/multifd.c
> index e26f5f246d..92ae61a50f 100644
> --- a/migration/multifd.c
> +++ b/migration/multifd.c
> @@ -731,9 +731,6 @@ static void *multifd_send_thread(void *opaque)
>              if (flags & MULTIFD_FLAG_SYNC) {
>                  qemu_sem_post(&p->sem_sync);
>              }
> -        } else if (p->quit) {
> -            qemu_mutex_unlock(&p->mutex);
> -            break;
>          } else {
>              qemu_mutex_unlock(&p->mutex);
>              /* sometimes there are spurious wakeups */


Reply via email to