On Thu, Jan 31, 2013 at 04:36:25PM +0200, Avi Kivity wrote: > On Thu, Jan 31, 2013 at 4:30 PM, Gleb Natapov <g...@redhat.com> wrote: > >> > > >> > Avi/Michael do you remember why mincore can't be used to check if a guest > >> page is unmapped? > >> > >> A page may be not in core, but also nonzero (for example swap). > > Yes, mincore() should not be used as zero page check, but it can be used > > as an indicator that page can be dealt with in dead stage of migration > > since it is likely zero and will not take much time to send. > > Or it's swapped, in which case we know nothing about it. > > > It is Of course, that is why I said "likely' :)
> > possible to call madvise(MADV_WILLNEED) on them meanwhile to pre-load > > swap without faulting on each page individually. > > During migration you're faulting like mad anyway. That's guest faulting on dirty bit logging, as far as I understand Orit says that in addition to that she sees a lot of faults generated by migration reading unmapped guest memory. She wants to eliminate at least those. -- Gleb.