Hi Alexandru,
On Mon, 24 Feb 2020 at 19:17, Alexandru Elisei alexandru.elisei@arm.com wrote:
Hi,
On 2/24/20 1:38 PM, Andrew Jones wrote:
On Mon, Feb 24, 2020 at 01:21:23PM +0000, Alexandru Elisei wrote:
Hi Naresh,
On 2/24/20 12:53 PM, Naresh Kamboju wrote:
[Sorry for the spam]
Greeting from Linaro ! We are running kvm-unit-tests on our CI Continuous Integration and testing on x86_64 and arm64 Juno-r2. Linux stable branches and Linux mainline and Linux next.
Few tests getting fail and skipped, we are interested in increasing the test coverage by adding required kernel config fragments, kernel command line arguments and user space tools.
Your help is much appreciated.
Here is the details of the LKFT kvm unit test logs,
[..]
I am going to comment on the arm64 tests. As far as I am aware, you don't need any kernel configs to run the tests.
From looking at the java log [1], I can point out a few things:
- The gicv3 tests are failing because Juno has a gicv2 and the kernel refuses to
create a virtual gicv3. It's normal.
Yup
- I am not familiar with the PMU test, so I cannot help you with that.
Where is the output from running the PMU test? I didn't see it in the link below.
It's toward the end, it just says that 2 tests failed:
|TESTNAME=pmu TIMEOUT=90s ACCEL= ./arm/run arm/pmu.flat -smp 1| |[31mFAIL[0m pmu (3 tests, 2 unexpected failures)|
- Without the logs, it's hard for me to say why the micro-bench test is failing.
Can you post the logs for that particular run?
Would it be a good idea to print failed log on console when test fails ?
timeout -k 1s --foreground 90s /usr/bin/qemu-system-aarch64 -nodefaults -machine virt,gic-version=host,accel=kvm -cpu host -device virtio-serial-device -device virtconsole,chardev=ctd -chardev testdev,id=ctd -device pci-testdev -display none -serial stdio -kernel arm/pmu.flat -smp 1 # -initrd /tmp/tmp.ZJ05lRvgc4 INFO: PMU version: 3 INFO: pmu: PMU implementer/ID code/counters: 0x41("A")/0x3/6 PASS: pmu: Control register Read 0 then 0. FAIL: pmu: Monotonically increasing cycle count instrs : cycles0 cycles1 ... 4: 0 cycles not incrementing! FAIL: pmu: Cycle/instruction ratio SUMMARY: 3 tests, 2 unexpected failures
They are located in /path/to/kvm-unit-tests/logs/micro-bench.log. My guess is that it has to do with the fact that you are using taskset to keep the tests on one CPU. Micro-bench will use 2 VCPUs to send 2^28 IPIs which will run on the same physical CPU, and sending and receiving them will be serialized which will incur a *lot* of overhead. I tried the same test without taskset, and it worked. With taskset -c 0, it timed out like in your log.
We've also had "failures" of the micro-bench test when run under avocado reported. The problem was/is the assert_msg() on line 107 is firing. We could probably increase the number of tries or change the assert to a warning. Of course micro-bench isn't a "test" anyway so it can't "fail". Well, not unless one goes through the trouble of preparing expected times for each measurement for a given host and then compares new results to those expectations. Then it could fail when the results are too large (some threshold must be defined too).
That happens to me too on occasions when running under kvmtool. When it does I just rerun the test and it passes almost always. But I think that's not the case here, since the test times out:
micro-bench [1] always timeout on arm64 juno-r2 running with taskset -c 0 with new test code it failed it used to be skipped.
|TESTNAME=micro-bench TIMEOUT=90s ACCEL=kvm ./arm/run arm/micro-bench.flat -smp 2| |[31mFAIL[0m micro-bench (timeout; duration=90s)|
I tried it and I got the same message, and the in the log:
$ cat logs/micro-bench.log timeout -k 1s --foreground 90s /usr/bin/qemu-system-aarch64 -nodefaults -machine virt,gic-version=host,accel=kvm -cpu host -device virtio-serial-device -device virtconsole,chardev=ctd -chardev testdev,id=ctd -device pci-testdev -display none -serial stdio -kernel arm/micro-bench.flat -smp 2 # -initrd /tmp/tmp.XXOYQIrjIM Timer Frequency 40000000 Hz (Output in microseconds)
name total ns avg ns
hvc 87727475.0 1338.0 mmio_read_user 348083225.0 5311.0 mmio_read_vgic 125456300.0 1914.0 eoi 820875.0 12.0 qemu-system-aarch64: terminating on signal 15 from pid 23273 (timeout)
timeout -k 1s --foreground 90s /usr/bin/qemu-system-aarch64 -nodefaults -machine virt,gic-version=host,accel=kvm -cpu host -device virtio-serial-device -device virtconsole,chardev=ctd -chardev testdev,id=ctd -device pci-testdev -display none -serial stdio -kernel arm/micro-bench.flat -smp 2 # -initrd /tmp/tmp.urqlMsBpJd Timer Frequency 50000000 Hz (Output in microseconds) name total ns avg ns -------------------------------------------------------------------------------------------- hvc 296915440.0 4530.0 mmio_read_user 1322325100.0 20177.0 mmio_read_vgic 462255460.0 7053.0 eoi 6779880.0 103.0 qemu-system-aarch64: terminating on signal 15 from pid 3097 (timeout)
[1] https://qa-reports.linaro.org/lkft/linux-mainline-oe/tests/kvm-unit-tests/mi...
Thanks, Alex