From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> This is a small set of postcopy changes, the largest of which is an x86 test for postcopy.
Andrea's libqtest change came about from running my test under very heavy load. The test includes a self contained migration workload that rapidly changes RAM in a predictable fashion allowing us to end up in postcopy mode and also to be able to check the contents of RAM. Note this sometimes fails on Linux kernels 4.5 (and current 4.6) which have a KVM+THP bug. Use this fix: https://lists.gnu.org/archive/html/qemu-devel/2016-04/msg04028.html v6: Fix for postcopy test on non-linux/linux-without-userfault Tested on freebsd (x86-64) where v5 failed linux (aarch64) where v5 worked for me, but failed for Peter linux (x86-64) v5: Swing sys/ #include's into the ifdef __linux__ on the postcopy test v4: Add a patch to fail migrate-set-capability when turning on postcopy if we don't have the kernel support. v3: Change all the test asserts to be g_assert macros (Marcel's suggestion) v2: Split 'Add stats...' into two (Eric's comment) Test: Survive qmp events landing when we're expecting a response from the command (qmp/libqtest doesn't help in that) Fix a race where we'd start postcopy early Dave Andrea Arcangeli (1): tests: fix libqtest socket timeouts Dr. David Alan Gilbert (5): Postcopy: Avoid 0 length discards Migration: Split out ram part of qmp_query_migrate Postcopy: Add stats on page requests test: Postcopy Postcopy: Check for support when setting the capability hmp.c | 4 + include/migration/migration.h | 2 + migration/migration.c | 73 +++---- migration/ram.c | 5 +- qapi-schema.json | 6 +- tests/Makefile.include | 2 + tests/libqtest.c | 2 +- tests/postcopy-test.c | 455 ++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 511 insertions(+), 38 deletions(-) create mode 100644 tests/postcopy-test.c -- 2.7.4