Skip to content

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

  1. Build kernel v5.17-rc1 or commit 0faf20a1ad16 for ppc64le with the attached config (either GCC or Clang).
  2. Run it under QEMU with at least -smp 2.

Additional information

qemu-and-dmesg.log kernel.config

Edited by Miguel Ojeda
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information