[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 3/6] migration: Maintain postcopy faulted addresses
From: |
Peter Xu |
Subject: |
Re: [PATCH v5 3/6] migration: Maintain postcopy faulted addresses |
Date: |
Wed, 21 Oct 2020 11:50:16 -0400 |
On Wed, Oct 21, 2020 at 03:23:45PM +0100, Dr. David Alan Gilbert wrote:
> > @@ -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)
> > {
> > + void *aligned = (void *)(uintptr_t)(haddr & qemu_real_host_page_mask);
>
> Can you remind me, what happens here for hugepages?
Sure. Previously it was:
(haddr & (-qemu_target_page_size())
Now it is:
(haddr & qemu_real_host_page_mask)
Basically we changed the psize alignment from guest to host.
The bug triggered previously on ppc64 where host_psize=64k, then when guest
psize is smaller, e.g., 4k, we can have some addr that aligned to 4k rather
than 64k, so we failed later on checking the host psize alignment (because this
pointer should point to a host page, so it should align with host psize).
--
Peter Xu
[PATCH v5 4/6] migration: Sync requested pages after postcopy recovery, Peter Xu, 2020/10/19
[PATCH v5 5/6] migration/postcopy: Release fd before going into 'postcopy-pause', Peter Xu, 2020/10/19
[PATCH v5 6/6] migration-test: Only hide error if !QTEST_LOG, Peter Xu, 2020/10/19