[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 2/3] i386/a-b-bootblock: zero the first byte of each page
From: |
Juan Quintela |
Subject: |
Re: [PATCH v2 2/3] i386/a-b-bootblock: zero the first byte of each page on start |
Date: |
Wed, 04 Oct 2023 10:53:34 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.3 (gnu/linux) |
Daniil Tatianin <d-tatianin@yandex-team.ru> 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 <d-tatianin@yandex-team.ru>
> Reviewed-by: Peter Xu <peterx@redhat.com>
> ---
Reviewed-by: Juan Quintela <quintela@redhat.com>
queued.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH v2 2/3] i386/a-b-bootblock: zero the first byte of each page on start,
Juan Quintela <=