On Tue, Dec 01, 2020 at 06:40:55PM +0000, Dr. David Alan Gilbert wrote: > > Yep, seems that current userfaultfd supports hugetlbfs and shared memory for > > missing pages but not for wr-protected.. > > For hugepages, you'd need kernel support - but also you'd want to make > sure you write the whole hugepage at once.
Or we can do similar things by splitting the huge pages just like when we migrate. I should have overlooked these facts when I replied previusly - we do need the same logic, but also special care on these special memory types. > > For shared, there's a harder problem to ask; what happens if RAM is > written by the other process - for postcopy, we get the other process > to send us a userfaultfd that they have registered with their VM. Good point... so we should need similar things too. Looks like we'd better explicitly disable shmem/hugetlbfs for now from qemu background snapshots before we have prepared these utilities, just in case it got run on some "future" kernels and accidentally got enabled, so the snapshot files could be corrupted ones. Is shmem used a lot in libvirt, or is it even a default configuration? -- Peter Xu