On Fri, Nov 27, 2020 at 01:02:29PM +1100, Daniel Axtens wrote: > Hi all, > > I'm having some difficulty tracking down a bug. > > Some configurations of the powerpc kernel since somewhere in the 5.10 > merge window fail to boot on some ppc64 systems. They hang while trying > to bring up SMP. It seems to depend on the RCU_SCALE/PERF_TEST option. > (It was renamed in the 5.10 merge window.) Adding Mark Rutland on CC in case his similarly mystifying experience obtaining a fix for ARM has relevance. From what I could see, that was a delayed consequence of the x86/entry rewrite. It was similarly difficult to bisect. Thanx, Paul > I can reproduce it as follows with qemu tcg: > > make -j64 pseries_le_defconfig > scripts/config -m RCU_SCALE_TEST > scripts/config -m RCU_PERF_TEST > make -j 64 vmlinux CC="ccache gcc" > > qemu-system-ppc64 -cpu power9 -M pseries -m 1G -nographic -vga none -smp 4 -kernel vmlinux > > ... > [ 0.036284][ T0] Mount-cache hash table entries: 8192 (order: 0, 65536 bytes, linear) > [ 0.036481][ T0] Mountpoint-cache hash table entries: 8192 (order: 0, 65536 bytes, linear) > [ 0.148168][ T1] POWER9 performance monitor hardware support registered > [ 0.151118][ T1] rcu: Hierarchical SRCU implementation. > [ 0.186660][ T1] smp: Bringing up secondary CPUs ... > <hangs> > > I have no idea why RCU_SCALE/PERF_TEST would be causing this, but that > seems to be what does it: if I don't set that, the kernel boots fine. > > I've tried to git bisect it, but I keep getting different results: > always a random merge of a seemingly-unrelated subsystem tree - things > like armsoc or integrity or input. > > It appears to also depend on the way the kernel is booted. Testing with > a Canonical kernel, so a slightly different config but including > RCU_SCALE_TEST=m, I see: > > Power8 host + KVM + grub -> boots > Power9 host bare metal (kexec) -> fails > Power9 host + KVM + grub -> fails > Power9 host + KVM + qemu -kernel -> boots > qemu TCG + power9 cpu -> fails > qemu TCG + power8 cpu -> fails > > Any ideas? > > Kind regards, > Daniel > > $ qemu-system-ppc64 -version > QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.9) > > $ gcc --version > gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 > > It also happens when compiling with GCC 7 and 10. > >