ppc64: hard lockup / hang in Linux kernel v5.17-rc1
Host environment
- Operating system: Ubuntu 20.04.3 LTS
- OS/kernel version:
Linux test 5.4.0-96-generic #109-Ubuntu SMP Wed Jan 12 16:49:16 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
- Architecture: x86_64
- QEMU flavor: qemu-system-ppc64
- QEMU version: master as of 48302d4e (as well as 6.0.0 and Ubuntu's 4.2.1)
- QEMU command line:
qemu-system-ppc64 -kernel vmlinux -smp 2
Emulated/Virtualized environment
- Operating system: Linux kernel only
- OS/kernel version: v5.17-rc1 (or commit 0faf20a1ad16)
- Architecture: ppc64le
Description of problem
The kernel deterministically triggers a hard lockup / hang under QEMU since v5.17-rc1 (upgrading from v5.16).
Bisecting points to the kernel's 0faf20a1ad16 ("powerpc/64s/interrupt: Don't enable MSR[EE] in irq handlers unless perf is in use"). Reverting it on top of v5.17-rc1 fixes the issue.
Reported to linuxppc-dev. Confirmed. Suspected QEMU modeling issue by Cédric Le Goater.
Steps to reproduce
- Build kernel v5.17-rc1 or commit 0faf20a1ad16 for ppc64le with the attached config (either GCC or Clang).
- Run it under QEMU with at least
-smp 2
.