blob: 33b85a4eecb3ca268ef59f6d6037cc039a1e3ab3 (
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
|
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:
|