On Mon, May 12, 2025 at 11:56:31AM +0530, Prasad Pandit wrote:
> Hi,
> 
> On Fri, 9 May 2025 at 20:41, Peter Xu <pet...@redhat.com> wrote:
> > Isn't that what multifd is doing already?
> > typedef struct {
> >     ...
> >     /*
> >      * This array contains the pointers to:
> >      *  - normal pages (initial normal_pages entries)
> >      *  - zero pages (following zero_pages entries)
> >      */
> >     uint64_t offset[];
> > } __attribute__((packed)) MultiFDPacket_t;
> > Or maybe I missed what you meant.
> 
> * Why are we memsetting zero pages on the receive side? What I'm
> trying to get at is, if destination memory is zero-initialised at the
> beginning of migration, we might be able to do away with this
> memset(3) call and this optimisation altogether. All zero page entries
> could point to the same zero page as well, if we don't want to
> preallocate all zero pages at start.

I didn't follow, sorry.

It's still uncertain to me whether the initial pages would be zero before
migration touching it.  I'll need to check some day, because it looks a
matter too as long as we avoid memset in the 1st round.  But I don't
understand what you meant by "do away with memset... altogether".

What is the change you're suggesting?

-- 
Peter Xu


Reply via email to