[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 3/6] migration: Maintain postcopy faulted addresses
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [PATCH v5 3/6] migration: Maintain postcopy faulted addresses |
Date: |
Wed, 21 Oct 2020 18:42:19 +0100 |
User-agent: |
Mutt/1.14.6 (2020-07-11) |
* Peter Xu (peterx@redhat.com) wrote:
> 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).
But my question is what happens when we have say a 2MB hugepage?
Dave
> --
> Peter Xu
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
[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