qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 21/21] postcopy: implement postcopy livemigratio


From: Isaku Yamahata
Subject: Re: [Qemu-devel] [PATCH 21/21] postcopy: implement postcopy livemigration
Date: Wed, 4 Jan 2012 12:29:34 +0900
User-agent: Mutt/1.5.19 (2009-01-05)

On Thu, Dec 29, 2011 at 06:06:10PM +0200, Avi Kivity wrote:
> On 12/29/2011 03:26 AM, Isaku Yamahata wrote:
> > This patch implements postcopy livemigration.
> >
> >  
> > +/* RAM is allocated via umem for postcopy incoming mode */
> > +#define RAM_POSTCOPY_UMEM_MASK  (1 << 1)
> > +
> >  typedef struct RAMBlock {
> >      uint8_t *host;
> >      ram_addr_t offset;
> > @@ -485,6 +488,10 @@ typedef struct RAMBlock {
> >  #if defined(__linux__) && !defined(TARGET_S390X)
> >      int fd;
> >  #endif
> > +
> > +#ifdef CONFIG_POSTCOPY
> > +    UMem *umem;    /* for incoming postcopy mode */
> > +#endif
> >  } RAMBlock;
> 
> Is it possible to implement this via the MemoryListener API (which
> replaces CPUPhysMemoryClient)?  This is how kvm, vhost, and xen manage
> their memory tables.

I'm afraid no. Those three you listed above are for outgoing part,
but this case is for incoming part. The requirement is quite different
from those three. What is needed is
- get the corresponding RAMBlock and UMem from (id, idlen)
- hook ram_alloc/ram_free (or RAM api corresponding)

thanks,
-- 
yamahata



reply via email to

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