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