On Fri, Mar 04, 2016 at 09:08:20AM +0000, Dr. David Alan Gilbert wrote: > * Roman Kagan (rkagan@xxxxxxxxxxxxx) wrote: > > On Fri, Mar 04, 2016 at 08:23:09AM +0000, Li, Liang Z wrote: > > > The unmapped/zero mapped pages can be detected by parsing /proc/self/pagemap, > > > but the free pages can't be detected by this. Imaging an application allocates a large amount > > > of memory , after using, it frees the memory, then live migration happens. All these free pages > > > will be process and sent to the destination, it's not optimal. > > > > First, the likelihood of such a situation is marginal, there's no point > > optimizing for it specifically. > > > > And second, even if that happens, you inflate the balloon right before > > the migration and the free memory will get umapped very quickly, so this > > case is covered nicely by the same technique that works for more > > realistic cases, too. > > Although I wonder which is cheaper; that would be fairly expensive for > the guest wouldn't it? For the guest -- generally it wouldn't if you have a good estimate of available memory (i.e. the amount you can balloon out without forcing the guest to swap). And yes you need certain cost estimates for choosing the best migration strategy: e.g. if your network bandwidth is unlimited you may be better off transferring the zeros to the destination rather than optimizing them away. > And you'd somehow have to kick the guest > before migration to do the ballooning - and how long would you wait > for it to finish? It's a matter for fine-tuning with all the inputs at hand, like network bandwidth, costs of delaying the migration, etc. And you don't need to wait for it to finish, i.e. reach the balloon size target: you can start the migration as soon as it's good enough (for whatever definition of "enough" is found appropriate by that fine-tuning). Roman. -- 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