blob: ffa6f04e0ac0ec5bc93eae640f9954980b65f7d0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
performance: 0.996
device: 0.938
socket: 0.916
graphic: 0.901
PID: 0.895
debug: 0.861
semantic: 0.842
permissions: 0.841
vnc: 0.817
network: 0.817
files: 0.779
KVM: 0.713
boot: 0.639
other: 0.489
Major qemu-aarch64 performance slowdown since commit 59b6b42cd3
Description of problem:
I have observed a major performance slowdown between qemu 8.0.0 and 8.1.0:
qemu 8.0.0: 0.8s
qemu 8.1.0: 6.8s
After bisecting the commits between 8.0.0 and 8.1.0, the offending commit is 59b6b42cd3:
commit 59b6b42cd3446862567637f3a7ab31d69c9bef51
Author: Richard Henderson <richard.henderson@linaro.org>
Date: Tue Jun 6 10:19:39 2023 +0100
target/arm: Enable FEAT_LSE2 for -cpu max
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20230530191438.411344-21-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reverting the commit in latest master fixes the problem:
qemu 8.0.0: 0.8s
qemu 8.1.0: 6.8s
qemu master + revert 59b6b42cd3: 0.8s
Alternatively, specify `-cpu cortex-a35` to disable LSE2:
`time ./qemu-aarch64 -cpu cortex-a35`: 0.8s
`time ./qemu-aarch64`: 6.77s
The slowdown is also observed when running qemu-aarch64 on aarch64 machine:
`time ./qemu-aarch64 /usr/bin/node -e 1`: 2.91s
`time ./qemu-aarch64 -cpu cortex-a35 /usr/bin/node -e 1`: 1.77s
The slowdown on x86_64 machine is small: 362ms -> 378ms.
Steps to reproduce:
1. Run `time ./qemu-aarch64 node-aarch64 -e 1` (node-aarch64 is NodeJS v16 built for AArch64)
2. Using qemu master, the output says `0.8s`
3. Using qemu master with commit 59b6b42cd3 reverted, the output says `6.77s`
Additional information:
|