[OE-core] [RFC PATCH] Add gnu testsuite execution for OEQA
richard.purdie at linuxfoundation.org
richard.purdie at linuxfoundation.org
Wed Jul 24 13:55:23 UTC 2019
On Wed, 2019-07-24 at 22:30 +1000, Nathan Rossi wrote:
> So I only hit one major issue with the oe-core qemu* machines I
> tested on when running under system emulation, specifically with
> aarch64/qemuarm64.
>
> One (or more) test in the "c" suite of gcc causes qemu to crash due
> to what appears to be an internal qemu issue.
>
> qemu outputted:
> qemu-4.0.0/tcg/tcg.c:3952: tcg_gen_code: Assertion
> `s->gen_insn_end_off[num_insns] == off' failed.
>
> The test that caused this was:
> gcc.target/aarch64/advsimd-intrinsics/vldX.c -O2 execution test
Ok, interesting. I'd hope that issue could be resolved if it started
causing problems for us, or we could skip that test as a workaround I
guess.
> Just an update here, managed to get the results for this. As you will
> see below, running some of these tests is very slow on qemu system
> emulation. Though kvm did give a decent boost in performance.
>
> Note: qemuarm64 (sys) is missing gcc results because one of the gcc
> tests crashes qemu.
The results were wrapped and hard to read so I unwrapped them (added
here for others):
| g++ | gcc | glibc | libatomic | libgomp | libitm | libstdc++-v3
qemuarm (usr) | 365/128416 | 469/123905 | 65/ 5130 | 0/ 49 | 0/ 2515 | 0/ 46 | 23/12782
qemuarm (sys) | 365/128416 | 468/123874 | 47/ 5130 | 0/ 49 | 0/ 2515 | 18/ 46 | 48/12790
qemux86-64 (usr) | 457/131913 | 589/135169 | 1423/ 5991 | 0/ 54 | 0/ 2522 | 0/ 46 | 1/13008
qemux86-64 (sys) | 418/131913 | 519/135221 | 1418/ 5991 | 0/ 54 | 1/ 2522 | 18/ 46 | 51/13010
qemux86-64 (sys+kvm) | 418/131913 | 519/135415 | 40/ 5991 | 0/ 54 | 1/ 2522 | 18/ 46 | 46/13010
qemuarm64 (usr) | 364/128977 | 459/130904 | 75/ 5882 | 0/ 54 | 0/ 2515 | 0/ 46 | 1/12789
qemuarm64 (sys) | 364/128977 | | 43/ 5882 | 0/ 54 | 0/ 2515 | 18/ 46 | 62/12791
qemuppc (usr) | 6747/128636 | 18336/116624 | 1220/ 5110 | 0/ 49 | 2/ 2515 | 0/ 46 | 33/12996
qemuppc (sys) | 383/129056 | 800/119824 | 1188/ 5110 | 0/ 49 | 2/ 2515 | 18/ 46 | 34/12998
qemuriscv64 (usr) | 376/128427 | 460/106399 | 86/ 5847 | 0/ 54 | 4/ 2508 | | 1/12748
qemuriscv64 (sys) | 376/128427 | 458/106451 | 53/ 5847 | 0/ 54 | 0/ 2508 | | 52/12750
| g++ | gcc | glibc | libatomic | libgomp | libitm | libstdc++-v3
qemuarm (usr) | 9m 24s | 15m 3s | 37m 10s | 8s | 6m 52s | 8s | 1h 24s
qemuarm (sys) | 3h 58m 30s | 12h 21m 44s | 5h 36m 53s | 55s | 45m 57s | 53s | 12h 16m 11s
qemux86-64 (usr) | 8m 22s | 15m 48s | 36m 52s | 8s | 6m 1s | 8s | 34m 42s
qemux86-64 (sys) | 5h 38m 27s | 15h 15m 40s | 5h 54m 42s | 1m 8s | 45m 52s | 55s | 3h 26m 11s
qemux86-64 (sys+kvm) | 16m 22s | 56m 44s | 2h 29m 45s | 25s | 16m 58s | 21s | 19m 20s
qemuarm64 (usr) | 8m 34s | 16m 15s | 44m 25s | 8s | 6m 23s | 8s | 35m 38s
qemuarm64 (sys) | 4h 2m 53s | | 6h 2m 39s | 1m 7s | 44m 47s | 53s | 3h 9m 37s
qemuppc (usr) | 6m 54s | 10m 47s | 32m 50s | 6s | 6m 22s | 7s | 34m 25s
qemuppc (sys) | 5h 46m 23s | 16h 16m 10s | 4h 10m 6s | 1m 16s | 1h 3m 11s | 1m 12s | 4h 32m 45s
qemuriscv64 (usr) | 6m 54s | 10m 23s | 36m 50s | 7s | 9m 38s | | 33m 13s
qemuriscv64 (sys) | 2h 19m 24s | 6h 27m 37s | 4h 23m 43s | 47s | 31m 47s | | 1h 52m 18s
This makes very interesting reading, thanks!
I'm quite amazed how much faster user mode qemu is at running the tests
against a system kvm qemu. The accuracy of sys, usr and sys+kvm looks
questionable in different places.
There isn't a clear answer here although its obvious qemuppc user mode
emulation is bad. The usermode testing is clearly the winner speed wise
by a long margin. I would like to understand why though as KVM should
be reasonable...
Cheers,
Richard
More information about the Openembedded-core
mailing list