On 14.07.26 14:28, Kevin Wolf wrote:
Am 10.07.2026 um 18:13 hat Denis V. Lunev geschrieben:
test_postcopy_success asserted `downtime * 10 < postcopy_time` to
confirm the run spent meaningful time in postcopy. This is an
unnormalized wall-clock heuristic tuned to old hardware (commit
e80a4150a5), and fails on fast hosts where the bitmap payload now
transfers in under a second while switch-over downtime stays fixed
(e.g. downtime=0.6s, postcopy_time=0.8s).

It is also a weak proxy for the regression it guards against
(postcopy degenerating to precopy): that is already covered by the
bitmap sha256, mid-migration update and persistence checks, none of
which depend on this timing.

Drop the assertion; keep printing the timings under debug.

Signed-off-by: Denis V. Lunev <[email protected]>
CC: Kevin Wolf <[email protected]>
CC: Hanna Reitz <[email protected]>

I agree that this assertion failure doesn't mean that the test failed.
What it might mean is that maybe we didn't test the code as well as we
would have liked to.

Yes, the aim was to guarantee, that we don't simply pass the whole bitmap
in downtime, not starting any postcopy at all.

Possible alternative is to do query-migrate exactly after RESUME, and check
that remaining is significantly more than zero: this data is transferred
in postcopy for sure.


Should we try to slow down/throttle the migration artificially to
trigger the cases we want to test here more reliably?

Kevin

  tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test | 1 -
  1 file changed, 1 deletion(-)

diff --git a/tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test 
b/tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test
index c519e6db8c..f9c55b6395 100755
--- a/tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test
+++ b/tests/qemu-iotests/tests/migrate-bitmaps-postcopy-test
@@ -186,7 +186,6 @@ class TestDirtyBitmapPostcopyMigration(iotests.QMPTestCase):
          downtime = event_dist(event_stop, event_resume)
          postcopy_time = event_dist(event_resume, event_complete)
- assert downtime * 10 < postcopy_time
          if debug:
              print('downtime:', downtime)
              print('postcopy_time:', postcopy_time)
--
2.53.0




--
Best regards,
Vladimir

Reply via email to