Daniil Tatianin <[email protected]> wrote: > The migration qtest all the way up to this point used to work by sheer > luck relying on the contents of all pages from 1MiB to 100MiB to contain > the same one value in the first byte initially. > > This easily breaks if we reduce the amount of RAM for the test instances > from 150MiB to e.g 110MiB since that makes SeaBIOS dirty some of the > pages starting at about 0x5dd2000 (~93 MiB) as it reuses those for the > HighMemory allocator since commit dc88f9b72df ("malloc: use large > ZoneHigh when there is enough memory"). > > This would result in the following errors: > 12/60 qemu:qtest+qtest-x86_64 / qtest-x86_64/migration-test > ERROR 2.74s killed by signal 6 SIGABRT > stderr: > Memory content inconsistency at 5dd2000 first_byte = cc last_byte = cb > current = 9e hit_edge = 1 > Memory content inconsistency at 5dd3000 first_byte = cc last_byte = cb > current = 89 hit_edge = 1 > Memory content inconsistency at 5dd4000 first_byte = cc last_byte = cb > current = 23 hit_edge = 1 > Memory content inconsistency at 5dd5000 first_byte = cc last_byte = cb > current = 31 hit_edge = 1 > Memory content inconsistency at 5dd6000 first_byte = cc last_byte = cb > current = 70 hit_edge = 1 > Memory content inconsistency at 5dd7000 first_byte = cc last_byte = cb > current = ff hit_edge = 1 > Memory content inconsistency at 5dd8000 first_byte = cc last_byte = cb > current = 54 hit_edge = 1 > Memory content inconsistency at 5dd9000 first_byte = cc last_byte = cb > current = 64 hit_edge = 1 > Memory content inconsistency at 5dda000 first_byte = cc last_byte = cb > current = 1d hit_edge = 1 > Memory content inconsistency at 5ddb000 first_byte = cc last_byte = cb > current = 1a hit_edge = 1 > and in another 26 pages** > ERROR:../tests/qtest/migration-test.c:300:check_guests_ram: assertion > failed: (bad == 0) > > Fix this by always zeroing the first byte of each page in the range so > that we get consistent results no matter the initial contents. > > Fixes: ea0c6d62391 ("test: Postcopy") > Signed-off-by: Daniil Tatianin <[email protected]> > Reviewed-by: Peter Xu <[email protected]> > ---
Reviewed-by: Juan Quintela <[email protected]> queued.
