On Tue, Apr 19, 2016 at 08:12:02PM +0100, Dr. David Alan Gilbert wrote: > * Michael S. Tsirkin (mst@xxxxxxxxxx) wrote: > > On Mon, Apr 18, 2016 at 11:08:31AM +0000, Li, Liang Z wrote: > > > Hi Dave, > > > > > > I am now working on how to benefit post-copy by skipping the free pages, > > > and I remember you have said we should let the destination know the info > > > of free pages so as to avoid request the free pages from the source. > > > > > > We have two solutions: > > > > > > a. send the migration dirty page bitmap to destination before post > > > copy start, so the destination can decide whether to request the pages or > > > place zero pages by checking the migration dirty page bitmap. The advantage > > > is that we can avoid sending the free pages. the disadvantage is that we have > > > to send extra data to destination. > > > > > > b. Check the page request on the source side, if it's not a dirty page, send a zero > > > page header to the destination. > > > > > > What's your opinion about them? > > > > > > Liang > > > > > > > Both are ad-hoc solutions imho. > > > > c. put the bitmap in a ramblock, check it on destination before > > requesting pages. > > > > This way it's migrated on-demand. > > I can see where you're coming from, but I don't like this idea, because > sending data controlling the RAM migration process in RAM blocks controlled > by the same data just sounds too recursive to ever debug. > > Dave Thinking some more about it, we could send the request for page from desination to guest. Once we get free pages, we send them to source with a flag that says "I don't really need these pages". Could be a new message with a bitmap, or just multiple existing ones that request pages. source marks these pages sent without actually sending them. if it sees it sent all pages it exits as previously. > > > > -- > > MST > -- > Dr. David Alan Gilbert / dgilbert@xxxxxxxxxx / Manchester, UK -- 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