From: Peter Xu <peterx@redhat.com>
To: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Xiaohui Li <xiaohli@redhat.com>,
qemu-devel@nongnu.org, Juan Quintela <quintela@redhat.com>
Subject: Re: [PATCH 4/5] migration: Maintain postcopy faulted addresses
Date: Tue, 8 Sep 2020 15:42:02 -0400 [thread overview]
Message-ID: <20200908194202.GA233268@xz-x1> (raw)
In-Reply-To: <20200908110039.GG3295@work-vm>
On Tue, Sep 08, 2020 at 12:00:39PM +0100, Dr. David Alan Gilbert wrote:
> > @@ -238,6 +247,11 @@ void migration_incoming_state_destroy(void)
> > mis->postcopy_remote_fds = NULL;
> > }
> >
> > + if (mis->page_requested) {
> > + g_tree_destroy(mis->page_requested);
> > + mis->page_requested = NULL;
> > + }
> > +
>
> I think you want a:
> qemu_mutex_destroy(¤t_incoming->page_request_mutex);
I explicitly didn't do that because I saw that we've got quite a few things
that were not destroyed here, just in case I introduce some bug on multi-free
of the mutex. However... after a closer look, I don't see a reason to not free
them at all... Namely:
- postcopy_pause_sem_dst
- postcopy_pause_sem_fault
- rp_mutex
- main_thread_load_event (instead of _reset it in this function, we might
want to use _destroy)
I'll prepare another standalone patch for that.
>
> > qemu_event_reset(&mis->main_thread_load_event);
> >
> > if (mis->socket_address_list) {
> > @@ -354,8 +368,33 @@ int migrate_send_rp_message_req_pages(MigrationIncomingState *mis,
> > }
> >
> > int migrate_send_rp_req_pages(MigrationIncomingState *mis,
> > - RAMBlock *rb, ram_addr_t start)
> > + RAMBlock *rb, ram_addr_t start, uint64_t haddr)
> > {
> > + uint64_t aligned = haddr & (-qemu_target_page_size());
> > + bool received;
> > +
> > + qemu_mutex_lock(&mis->page_request_mutex);
>
> You could use WITH_QEMU_LOCK_GUARD
Sure.
Thanks,
--
Peter Xu
next prev parent reply other threads:[~2020-09-08 19:42 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-03 15:26 [PATCH 0/5] migration/postcopy: Sync faulted addresses after network recovered Peter Xu
2020-09-03 15:26 ` [PATCH 1/5] migration: Rework migrate_send_rp_req_pages() function Peter Xu
2020-09-08 9:18 ` Dr. David Alan Gilbert
2020-09-03 15:26 ` [PATCH 2/5] migration: Introduce migrate_send_rp_message_req_pages() Peter Xu
2020-09-08 9:57 ` Dr. David Alan Gilbert
2020-09-08 20:20 ` Peter Xu
2020-09-03 15:26 ` [PATCH 3/5] migration: Pass incoming state into qemu_ufd_copy_ioctl() Peter Xu
2020-09-08 9:30 ` Dr. David Alan Gilbert
2020-09-03 15:26 ` [PATCH 4/5] migration: Maintain postcopy faulted addresses Peter Xu
2020-09-08 11:00 ` Dr. David Alan Gilbert
2020-09-08 19:42 ` Peter Xu [this message]
2020-09-03 15:26 ` [PATCH 5/5] migration: Sync requested pages after postcopy recovery Peter Xu
2020-09-08 11:03 ` Dr. David Alan Gilbert
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=20200908194202.GA233268@xz-x1 \
--to=peterx@redhat.com \
--cc=dgilbert@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=xiaohli@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.