Re: [kvm-unit-tests PATCH v4 8/8] migration: add a migration selftest

Thomas Huth
2024-02-19T06:56:30Z

On 17/02/2024 08.19, Nicholas Piggin wrote:
> On Fri Feb 16, 2024 at 9:15 PM AEST, Thomas Huth wrote:
>> On 09/02/2024 10.11, Nicholas Piggin wrote:
>>> Add a selftest for migration support in guest library and test harness
>>> code. It performs migrations in a tight loop to irritate races and bugs
>>> in the test harness code.
>>>
>>> Include the test in arm, s390, powerpc.
>>>
>>> Acked-by: Claudio Imbrenda <imbrenda@linux.ibm.com> (s390x)
>>> Reviewed-by: Thomas Huth <thuth@redhat.com>
>>> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
>>> ---
>>> arm/Makefile.common | 1 +
>>> arm/selftest-migration.c | 1 +
>>> arm/unittests.cfg | 6 ++++++
>>
>> Hi Nicholas,
>>
>> I just gave the patches a try, but the arm test seems to fail for me: Only
>> the first getchar() seems to wait for a character, all the subsequent ones
>> don't wait anymore and just continue immediately ... is this working for
>> you? Or do I need another patch on top?
>
> Hey sorry missed this comment....
>
> It does seem to work for me, I've mostly tested pseries but I did test
> others too (that's how I saw the arm getchar limit).
>
> How are you observing it not waiting for migration?

According to you other mail, I think you figured it out already, but just
for the records: You can see it when running the guest manually, e.g.
something like:

qemu-system-aarch64 -nodefaults -machine virt -accel tcg -cpu cortex-a57 \
-device virtio-serial-device -device virtconsole,chardev=ctd \
-chardev testdev,id=ctd -device pci-testdev -display none \
-serial mon:stdio -kernel arm/selftest-migration.flat -smp 1

Without my "lib/arm/io: Fix calling getchar() multiple times" patch, the
guest only waits during the first getchar(), all the others simply return
immediately.

Thomas