Hi Alexandru, On Mon, 24 Feb 2020 at 19:17, Alexandru Elisei <alexandru.elisei@xxxxxxx> 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/micro-bench > > Thanks, > Alex