On Tue 18-07-17 10:12:14, Wei Wang wrote: [...] > Probably I should have included the introduction of the usages in > the log. Hope it is not too later to explain here: Yes this should have been described in the cover. > Live migration needs to transfer the VM's memory from the source > machine to the destination round by round. For the 1st round, all the VM's > memory is transferred. From the 2nd round, only the pieces of memory > that were written by the guest (after the 1st round) are transferred. One > method that is popularly used by the hypervisor to track which part of > memory is written is to write-protect all the guest memory. > > This patch enables the optimization of the 1st round memory transfer - > the hypervisor can skip the transfer of guest unused pages in the 1st round. All you should need is the check for the page reference count, no? I assume you do some sort of pfn walk and so you should be able to get an access to the struct page. -- Michal Hocko SUSE Labs