On 10/3/24 17:42, Stephen Boyd wrote:
Quoting Guenter Roeck (2024-10-03 17:25:37)
On 10/3/24 16:46, Stephen Boyd wrote: [ ... ]
That DT test has been there for a few releases. Is this the first time those tests have been run on arm64+acpi? I didn't try after sending the patches and forgot that the patch was dropped.
Previously I had the affected tests disabled and never tracked down the problem. Since the problem is now spreading to additional tests, I finally tracked it down, that is all.
Ok great. Good to know this isn't a new problem. Thanks for tracking it down.
How are you running kunit tests? I installed the qemu-efi-aarch64 debian package to get QEMU_EFI.fd but passing that to the kunit.py run command with --qemu_args="-bios /usr/share/qemu-efi-aarch64/QEMU_EFI.fd" didn't get me beyond the point that the EFI stub boots linux. I think the serial console must not be working and thus the kunit wrapper waits for something to show up but nothing ever does. I haven't dug any further though, so maybe you have a working command.
I run all tests during boot, not from the command line. I also use the -bios command but don't recall any issues with the console. I specify the console on the qemu command line; depending on the qemu machine it is either ttyS0 or ttyAMA0. The init script then finds and selects the active console.
Can you please describe how you run the kunit test? And provide the qemu command you run to boot arm64 with acpi?
Example command line:
qemu-system-aarch64 -M virt -m 512 \ -kernel arch/arm64/boot/Image -no-reboot -nographic \ -snapshot \ -bios /opt/buildbot/rootfs/arm64/../firmware/QEMU_EFI-aarch64.fd \ -device virtio-blk-device,drive=d0 \ -drive file=rootfs.ext2,if=none,id=d0,format=raw \ -cpu cortex-a57 -serial stdio -monitor none -no-reboot \ --append "kunit.stats_enabled=2 kunit.filter=speed>slow root=/dev/vda rootwait earlycon=pl011,0x9000000 console=ttyAMA0"
That works fine for me. Configuration is arm64 defconfig plus various debug and kunit options. I built the efi image myself from sources. The root file system is from buildroot with modified init script. kunit tests are all built into the kernel and run during boot.
I'll just keep the affected tests disabled on arm64 for the time being.
We should skip the tests on arm64+acpi, which is similar to disabling but not exactly the same. There will likely be more DT overlay usage in kunit and so that will lead to more test disabling. Skipping properly is the better solution.
Sure, but having those tests fail all the time doesn't help either. I'll re-enable the tests if / when they are skipped.
Thanks, Guenter