qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]