This is third version of patch set. First version was tagged as RFC, second was without version tag.
Difference since previous version (V3 -> V2) - Downtime calculation approach was changed, thanks to Peter Xu - Due to previous point no more need to keep GTree as well as bitmap of cpus. So glib changes aren't included in this patch set, it could be resent in another patch set, if it will be a good reason for it. - No procfs traces in this patchset, if somebody wants it, you could get it from patchwork site to track down page fault initiators. - UFFD_FEATURE_THREAD_ID is requesting only when kernel supports it - It doesn't send back the downtime, just trace it This patch set is based on master branch of git://git.qemu-project.org/qemu.git base commit is commit 81b2d5ceb0cfb4cdc2163492e3169ed714b0cda9 "Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20170426' into staging" It contains patch for kernel header, just for convinience of applying current patch set, for testing until kernel headers arn't synced. Alexey Perevalov (6): userfault: add pid into uffd_msg & update UFFD_FEATURE_* migration: pass ptr to MigrationIncomingState into migration ufd_version_check & postcopy_ram_supported_by_host migration: split ufd_version_check onto receive/request features part migration: add postcopy downtime into MigrationIncommingState migration: calculate downtime on dst side migration: trace postcopy total downtime include/migration/migration.h | 15 +++++ include/migration/postcopy-ram.h | 2 +- linux-headers/linux/userfaultfd.h | 5 ++ migration/migration.c | 138 +++++++++++++++++++++++++++++++++++++- migration/postcopy-ram.c | 106 ++++++++++++++++++++++++++--- migration/savevm.c | 2 +- migration/trace-events | 7 +- 7 files changed, 261 insertions(+), 14 deletions(-) -- 1.9.1