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 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html