From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: Juan Quintela <quintela@redhat.com>,
qemu-devel@nongnu.org, lvivier@redhat.com, peterx@redhat.com,
berrange@redhat.com
Subject: Re: [Qemu-devel] [PULL 10/40] migration: Delay start of migration main routines
Date: Fri, 18 May 2018 11:34:42 +0100 [thread overview]
Message-ID: <20180518103441.GD2478@work-vm> (raw)
In-Reply-To: <20180518085902.GB4833@localhost.localdomain>
* Kevin Wolf (kwolf@redhat.com) wrote:
> Am 16.05.2018 um 01:39 hat Juan Quintela geschrieben:
> > We need to make sure that we have started all the multifd threads.
> >
> > Signed-off-by: Juan Quintela <quintela@redhat.com>
> > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
>
> This commit makes qemu-iotests 091 hang for me. Either it breaks
> backward compatibility intentionally and we need to update the test
> case, or there is a bug somewhere.
It's not an intentional break.
And the avocado tcp and exec migrations pass OK, so hmm.
Dave
> Can you have a look, please?
>
> Kevin
>
> > ---
> > migration/migration.c | 4 ++--
> > migration/migration.h | 1 +
> > migration/ram.c | 3 +++
> > migration/socket.c | 4 ++++
> > 4 files changed, 10 insertions(+), 2 deletions(-)
> >
> > diff --git a/migration/migration.c b/migration/migration.c
> > index 8e5b421b97..61c4ee7850 100644
> > --- a/migration/migration.c
> > +++ b/migration/migration.c
> > @@ -430,7 +430,7 @@ static void migration_incoming_setup(QEMUFile *f)
> > qemu_file_set_blocking(f, false);
> > }
> >
> > -static void migration_incoming_process(void)
> > +void migration_incoming_process(void)
> > {
> > Coroutine *co = qemu_coroutine_create(process_incoming_migration_co, NULL);
> > qemu_coroutine_enter(co);
> > @@ -448,7 +448,7 @@ void migration_ioc_process_incoming(QIOChannel *ioc)
> >
> > if (!mis->from_src_file) {
> > QEMUFile *f = qemu_fopen_channel_input(ioc);
> > - migration_fd_process_incoming(f);
> > + migration_incoming_setup(f);
> > return;
> > }
> > multifd_recv_new_channel(ioc);
> > diff --git a/migration/migration.h b/migration/migration.h
> > index 7c69598c54..26e5951d56 100644
> > --- a/migration/migration.h
> > +++ b/migration/migration.h
> > @@ -200,6 +200,7 @@ void migrate_set_state(int *state, int old_state, int new_state);
> >
> > void migration_fd_process_incoming(QEMUFile *f);
> > void migration_ioc_process_incoming(QIOChannel *ioc);
> > +void migration_incoming_process(void);
> >
> > bool migration_has_all_channels(void);
> >
> > diff --git a/migration/ram.c b/migration/ram.c
> > index 87434d3fce..f7e8615e15 100644
> > --- a/migration/ram.c
> > +++ b/migration/ram.c
> > @@ -717,6 +717,9 @@ void multifd_recv_new_channel(QIOChannel *ioc)
> > qemu_thread_create(&p->thread, p->name, multifd_recv_thread, p,
> > QEMU_THREAD_JOINABLE);
> > atomic_inc(&multifd_recv_state->count);
> > + if (multifd_recv_state->count == migrate_multifd_channels()) {
> > + migration_incoming_process();
> > + }
> > }
> >
> > /**
> > diff --git a/migration/socket.c b/migration/socket.c
> > index e09fd1aae5..7a5eb562b8 100644
> > --- a/migration/socket.c
> > +++ b/migration/socket.c
> > @@ -170,6 +170,10 @@ static void socket_accept_incoming_migration(QIONetListener *listener,
> > qio_net_listener_disconnect(listener);
> >
> > object_unref(OBJECT(listener));
> > +
> > + if (!migrate_use_multifd()) {
> > + migration_incoming_process();
> > + }
> > }
> > }
> >
> > --
> > 2.17.0
> >
> >
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2018-05-18 10:34 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-15 23:39 [Qemu-devel] [PULL 00/40] Migration PULL requset (take 2) Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 01/40] migration: fix saving normal page even if it's been compressed Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 02/40] tests: Add migration precopy test Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 03/40] tests: Migration ppc now inlines its program Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 04/40] migration: Set error state in case of error Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 05/40] migration: Introduce multifd_recv_new_channel() Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 06/40] migration: terminate_* can be called for other threads Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 07/40] migration: Be sure all recv channels are created Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 08/40] migration: Export functions to create send channels Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 09/40] migration: Create multifd channels Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 10/40] migration: Delay start of migration main routines Juan Quintela
2018-05-18 8:59 ` Kevin Wolf
2018-05-18 10:34 ` Dr. David Alan Gilbert [this message]
2018-05-18 12:14 ` Kevin Wolf
2018-05-22 16:20 ` Kevin Wolf
2018-05-23 6:29 ` Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 11/40] migration: Transmit initial package through the multifd channels Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 12/40] migration: Define MultifdRecvParams sooner Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 13/40] migration: let incoming side use thread context Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 14/40] migration: new postcopy-pause state Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 15/40] migration: implement "postcopy-pause" src logic Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 16/40] migration: allow dst vm pause on postcopy Juan Quintela
2018-06-04 13:49 ` Peter Maydell
2018-06-05 7:48 ` Peter Xu
2018-06-05 10:45 ` Peter Xu
2018-05-15 23:39 ` [Qemu-devel] [PULL 17/40] migration: allow src return path to pause Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 18/40] migration: allow fault thread " Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 19/40] qmp: hmp: add migrate "resume" option Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 20/40] migration: rebuild channel on source Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 21/40] migration: new state "postcopy-recover" Juan Quintela
2018-05-15 23:39 ` [Qemu-devel] [PULL 22/40] migration: wakeup dst ram-load-thread for recover Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 23/40] migration: new cmd MIG_CMD_RECV_BITMAP Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 24/40] migration: new message MIG_RP_MSG_RECV_BITMAP Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 25/40] migration: new cmd MIG_CMD_POSTCOPY_RESUME Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 26/40] migration: new message MIG_RP_MSG_RESUME_ACK Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 27/40] migration: introduce SaveVMHandlers.resume_prepare Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 28/40] migration: synchronize dirty bitmap for resume Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 29/40] migration: setup ramstate " Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 30/40] migration: final handshake for the resume Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 31/40] migration: init dst in migration_object_init too Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 32/40] qmp/migration: new command migrate-recover Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 33/40] hmp/migration: add migrate_recover command Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 34/40] migration: introduce lock for to_dst_file Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 35/40] migration/qmp: add command migrate-pause Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 36/40] migration/hmp: add migrate_pause command Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 37/40] migration: update docs Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 38/40] migration: update index field when delete or qsort RDMALocalBlock Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 39/40] migration: Textual fixups for blocktime Juan Quintela
2018-05-15 23:40 ` [Qemu-devel] [PULL 40/40] Migration+TLS: Fix crash due to double cleanup Juan Quintela
2018-05-17 10:59 ` [Qemu-devel] [PULL 00/40] Migration PULL requset (take 2) Peter Maydell
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=20180518103441.GD2478@work-vm \
--to=dgilbert@redhat.com \
--cc=berrange@redhat.com \
--cc=kwolf@redhat.com \
--cc=lvivier@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.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.