summary refs log tree commit diff stats
path: root/gitlab/issues/target_arm/host_arm/accel_missing/1857.toml
blob: 57effb5928e324b81c3317c70f403c081333d5f7 (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
id = 1857
title = "Major qemu-aarch64 performance slowdown since commit 59b6b42cd3"
state = "closed"
created_at = "2023-09-01T14:00:23.709Z"
closed_at = "2023-09-01T15:15:06.829Z"
labels = ["host: arm", "host: loongarch64", "target: arm"]
url = "https://gitlab.com/qemu-project/qemu/-/issues/1857"
host-os = "Gentoo Linux & Ubuntu & Debian"
host-arch = "loongarch64 & aarch64 & x86_64"
qemu-version = "8.0.0, 8.1.0 and master"
guest-os = "Linux user"
guest-arch = "AArch64"
description = """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."""
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 = """"""