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 Date: Tue Jun 6 10:19:39 2023 +0100 target/arm: Enable FEAT_LSE2 for -cpu max Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson Message-id: 20230530191438.411344-21-richard.henderson@linaro.org Signed-off-by: Peter Maydell 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 = """"""