On 24.03.2021 01:21, Peter Xu wrote: > On Fri, Mar 19, 2021 at 05:52:46PM +0300, Andrey Gruzdev wrote: >> Changes v0->v1: >> * Using qemu_real_host_page_size instead of TARGET_PAGE_SIZE for host >> page size in ram_block_populate_pages() >> * More elegant implementation of ram_block_populate_pages() >> >> This patch series contains: >> * Fix to the issue with occasionally truncated non-iterable device state >> * Solution to compatibility issues with virtio-balloon device >> * Fix to the issue when discarded or never populated pages miss UFFD >> write protection and get into migration stream in dirty state >> >> Andrey Gruzdev (3): >> migration: Fix missing qemu_fflush() on buffer file in >> bg_migration_thread >> migration: Inhibit virtio-balloon for the duration of background >> snapshot >> migration: Pre-fault memory before starting background snasphot > Unless Andrey would like to respin a new version, this version looks good to me > (I don't think the adding new helper issue in patch 1 is a blocker): > > Reviewed-by: Peter Xu Thanks. > I'm also looking into introducing UFFD_FEATURE_WP_UNALLOCATED so as to > wr-protect page holes too for a uffd-wp region when the feature bit is set. > With that feature we should be able to avoid pre-fault as what we do in the > last patch of this series. However even if that can work out, we'll still need > this for old kernel anyways. I'm curious this new feature is based on adding wr-protection at the level of VMAs, so we won't miss write faults for missing pages? > Thanks, >