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: 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




reply via email to

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