Bug 1183824 - When booting, only one cpu comes online on RPI3
When booting, only one cpu comes online on RPI3
Status: RESOLVED WORKSFORME
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Basesystem
Current
aarch64 openSUSE Tumbleweed
: P5 - None : Normal (vote)
: ---
Assigned To: openSUSE Kernel Bugs
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2021-03-20 02:48 UTC by Ang
Modified: 2021-05-03 19:02 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ang 2021-03-20 02:48:49 UTC
Since Tumbleweed 20210317, when booting up a Raspberry Pi 3, only one of the four CPUs comes online. I tested this on a clean install from the ISO and on a Zypper dup from 20210223.

dmesg output:
[    0.005122] smp: Bringing up secondary CPUs ...
[    5.041231] CPU1: failed to come online
[    5.041253] CPU1: failed in unknown state : 0x0
[   10.083487] CPU2: failed to come online
[   10.083513] CPU2: failed in unknown state : 0x0
[   15.126053] CPU3: failed to come online
[   15.126078] CPU3: failed in unknown state : 0x0
[   15.126172] smp: Brought up 1 node, 1 CPU
[   15.126186] SMP: Total of 1 processors activated.

I will run further tests with an older kernel and report back.
Comment 1 Ang 2021-03-20 03:59:05 UTC
I tested on kernel 5.10.16 and came up with the same result as I did with kernel 5.11.6.

dmesg output:
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.10.16-1-default (geeko@buildhost) (gcc (SUSE Linux) 10.2.1 20201202 [revision e563687cf9d3d1278f45aaebd03e0f66531076c9], GNU ld (GNU Binutils; openSUSE Tumbleweed) 2.35.1.20201112-1) #1 SMP Sat Feb 13 16:20:19 UTC 2021 (11381f3)
[    0.000000] Machine model: Raspberry Pi 3 Model B Rev 1.2
[    0.000000] efi: EFI v2.80 by Das U-Boot
[    0.000000] efi: RTPROP=0x3cb28040 SMBIOS=0x3cb24000 MEMRESERVE=0x2a82a040 
[    0.000000] Reserved memory: created CMA memory pool at 0x0000000038800000, size 64 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x000000003dffffff]
[    0.000000] NUMA: NODE_DATA [mem 0x3ddd9480-0x3ddddfff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000003dffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000]   Device   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000003cb1bfff]
[    0.000000]   node   0: [mem 0x000000003cb1c000-0x000000003cb22fff]
[    0.000000]   node   0: [mem 0x000000003cb23000-0x000000003cb23fff]
[    0.000000]   node   0: [mem 0x000000003cb24000-0x000000003cb24fff]
[    0.000000]   node   0: [mem 0x000000003cb25000-0x000000003cb26fff]
[    0.000000]   node   0: [mem 0x000000003cb27000-0x000000003cb2afff]
[    0.000000]   node   0: [mem 0x000000003cb2b000-0x000000003cb2bfff]
[    0.000000]   node   0: [mem 0x000000003cb2c000-0x000000003cb30fff]
[    0.000000]   node   0: [mem 0x000000003cb31000-0x000000003cb31fff]
[    0.000000]   node   0: [mem 0x000000003cb32000-0x000000003cb32fff]
[    0.000000]   node   0: [mem 0x000000003cb33000-0x000000003cb33fff]
[    0.000000]   node   0: [mem 0x000000003cb34000-0x000000003cb34fff]
[    0.000000]   node   0: [mem 0x000000003cb35000-0x000000003cb35fff]
[    0.000000]   node   0: [mem 0x000000003cb36000-0x000000003cb36fff]
[    0.000000]   node   0: [mem 0x000000003cb37000-0x000000003cb38fff]
[    0.000000]   node   0: [mem 0x000000003cb39000-0x000000003cb39fff]
[    0.000000]   node   0: [mem 0x000000003cb3a000-0x000000003df3ffff]
[    0.000000]   node   0: [mem 0x000000003df40000-0x000000003df4ffff]
[    0.000000]   node   0: [mem 0x000000003df50000-0x000000003dffffff]
[    0.000000] Zeroed struct page in unavailable ranges: 37 pages
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000003dffffff]
[    0.000000] On node 0 totalpages: 253952
[    0.000000]   DMA zone: 3968 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 253952 pages, LIFO batch:63
[    0.000000] percpu: Embedded 33 pages/cpu s95000 r8192 d31976 u135168
[    0.000000] pcpu-alloc: s95000 r8192 d31976 u135168 alloc=33*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] CPU features: kernel page table isolation forced ON by KASLR
[    0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[    0.000000] CPU features: detected: ARM erratum 843419
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 249984
[    0.000000] Policy zone: DMA
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/Image-5.10.16-1-default root=UUID=9662fa64-c149-4230-97a1-b6855c52cdc6 splash=silent mitigations=auto quiet
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 871632K/1015808K available (13888K kernel code, 3386K rwdata, 9992K rodata, 6912K init, 9517K bss, 78640K reserved, 65536K cma-reserved)
[    0.000000] random: get_random_u64 called from __kmem_cache_create+0x3c/0x56c with crng_init=0
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 44467 entries in 174 pages
[    0.000000] ftrace: allocated 174 pages with 5 groups
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=480 to nr_cpu_ids=4.
[    0.000000] 	Trampoline variant of Tasks RCU enabled.
[    0.000000] 	Rude variant of Tasks RCU enabled.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] arch_timer: cp15 timer(s) running at 19.20MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000008] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000530] Console: colour dummy device 80x25
[    0.000594] printk: console [tty0] enabled
[    0.000753] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
[    0.000773] pid_max: default: 32768 minimum: 301
[    0.000935] LSM: Security Framework initializing
[    0.001077] AppArmor: AppArmor initialized
[    0.001317] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.001343] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.004404] rcu: Hierarchical SRCU implementation.
[    0.008515] Remapping and enabling EFI services.
[    0.009159] smp: Bringing up secondary CPUs ...
[    5.042371] CPU1: failed to come online
[    5.042402] CPU1: failed in unknown state : 0x0
[   10.084807] CPU2: failed to come online
[   10.084832] CPU2: failed in unknown state : 0x0
[   15.127230] CPU3: failed to come online
[   15.127253] CPU3: failed in unknown state : 0x0
[   15.127346] smp: Brought up 1 node, 1 CPU
[   15.127353] SMP: Total of 1 processors activated.
[   15.127368] CPU features: detected: 32-bit EL0 Support
[   15.127381] CPU features: detected: CRC32 instructions
[   15.127395] CPU features: detected: 32-bit EL1 Support
[   15.127631] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[   15.151389] CPU: All CPU(s) started at EL2
[   15.151489] alternatives: patching kernel code
[   15.154104] devtmpfs: initialized
[   15.165521] Registered cp15_barrier emulation handler
[   15.165543] Registered setend emulation handler
[   15.165558] KASLR enabled
[   15.166118] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[   15.166151] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[   15.171251] pinctrl core: initialized pinctrl subsystem
[   15.173039] SMBIOS 3.0 present.
[   15.173057] DMI:  /, BIOS 2021.01 03/04/2021
Comment 2 Ang 2021-03-20 04:22:07 UTC
This is the dmesg output with kernel 5.11.6-3. Because this happens with both kernels, I now feel as though it may not be specifically a kernel problem. To be clear, the system boots up all the way to the graphical interface and appears to function, although greatly reduced performance with only one CPU online.

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.11.6-3-default (geeko@buildhost) (gcc (SUSE Linux) 10.2.1 20210303 [revision 85977f624a34eac309f9d77a58164553dfc82975], GNU ld (GNU Binutils; openSUSE Tumbleweed) 2.36.1.20210301-2) #1 SMP Thu Mar 11 16:11:36 UTC 2021 (7358b30)
[    0.000000] Machine model: Raspberry Pi 3 Model B Rev 1.2
[    0.000000] efi: EFI v2.80 by Das U-Boot
[    0.000000] efi: RTPROP=0x3cb28040 SMBIOS=0x3cb24000 MEMRESERVE=0x2a803040 
[    0.000000] Reserved memory: created CMA memory pool at 0x0000000038800000, size 64 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x000000003dffffff]
[    0.000000] NUMA: NODE_DATA [mem 0x3ddd7480-0x3dddbfff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000003dffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000]   Device   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000003cb1bfff]
[    0.000000]   node   0: [mem 0x000000003cb1c000-0x000000003cb22fff]
[    0.000000]   node   0: [mem 0x000000003cb23000-0x000000003cb23fff]
[    0.000000]   node   0: [mem 0x000000003cb24000-0x000000003cb24fff]
[    0.000000]   node   0: [mem 0x000000003cb25000-0x000000003cb26fff]
[    0.000000]   node   0: [mem 0x000000003cb27000-0x000000003cb2afff]
[    0.000000]   node   0: [mem 0x000000003cb2b000-0x000000003cb2bfff]
[    0.000000]   node   0: [mem 0x000000003cb2c000-0x000000003cb30fff]
[    0.000000]   node   0: [mem 0x000000003cb31000-0x000000003cb31fff]
[    0.000000]   node   0: [mem 0x000000003cb32000-0x000000003cb32fff]
[    0.000000]   node   0: [mem 0x000000003cb33000-0x000000003cb33fff]
[    0.000000]   node   0: [mem 0x000000003cb34000-0x000000003cb34fff]
[    0.000000]   node   0: [mem 0x000000003cb35000-0x000000003cb35fff]
[    0.000000]   node   0: [mem 0x000000003cb36000-0x000000003cb36fff]
[    0.000000]   node   0: [mem 0x000000003cb37000-0x000000003cb38fff]
[    0.000000]   node   0: [mem 0x000000003cb39000-0x000000003cb39fff]
[    0.000000]   node   0: [mem 0x000000003cb3a000-0x000000003df3ffff]
[    0.000000]   node   0: [mem 0x000000003df40000-0x000000003df4ffff]
[    0.000000]   node   0: [mem 0x000000003df50000-0x000000003dffffff]
[    0.000000] Zeroed struct page in unavailable ranges: 37 pages
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000003dffffff]
[    0.000000] On node 0 totalpages: 253952
[    0.000000]   DMA zone: 3968 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 253952 pages, LIFO batch:63
[    0.000000] percpu: Embedded 33 pages/cpu s95512 r8192 d31464 u135168
[    0.000000] pcpu-alloc: s95512 r8192 d31464 u135168 alloc=33*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] CPU features: kernel page table isolation forced ON by KASLR
[    0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[    0.000000] CPU features: detected: ARM erratum 843419
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 249984
[    0.000000] Policy zone: DMA
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/Image-5.11.6-3-default root=UUID=9662fa64-c149-4230-97a1-b6855c52cdc6 splash=silent mitigations=auto quiet
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 871492K/1015808K available (13824K kernel code, 3346K rwdata, 10036K rodata, 6720K init, 9513K bss, 78780K reserved, 65536K cma-reserved)
[    0.000000] random: get_random_u64 called from __kmem_cache_create+0x3c/0x5fc with crng_init=0
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 44230 entries in 173 pages
[    0.000000] ftrace: allocated 173 pages with 5 groups
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=480 to nr_cpu_ids=4.
[    0.000000] 	Trampoline variant of Tasks RCU enabled.
[    0.000000] 	Rude variant of Tasks RCU enabled.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] arch_timer: cp15 timer(s) running at 19.20MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000001] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000512] Console: colour dummy device 80x25
[    0.000585] printk: console [tty0] enabled
[    0.000735] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
[    0.000762] pid_max: default: 32768 minimum: 301
[    0.000915] LSM: Security Framework initializing
[    0.001059] AppArmor: AppArmor initialized
[    0.001287] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.001320] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.004442] rcu: Hierarchical SRCU implementation.
[    0.008278] Remapping and enabling EFI services.
[    0.008972] smp: Bringing up secondary CPUs ...
[    5.042494] CPU1: failed to come online
[    5.042525] CPU1: failed in unknown state : 0x0
[   10.085063] CPU2: failed to come online
[   10.085091] CPU2: failed in unknown state : 0x0
[   15.127622] CPU3: failed to come online
[   15.127648] CPU3: failed in unknown state : 0x0
[   15.127739] smp: Brought up 1 node, 1 CPU
[   15.127753] SMP: Total of 1 processors activated.
[   15.127769] CPU features: detected: 32-bit EL0 Support
[   15.127784] CPU features: detected: CRC32 instructions
[   15.127799] CPU features: detected: 32-bit EL1 Support
[   15.128009] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[   15.145726] CPU: All CPU(s) started at EL2
[   15.145837] alternatives: patching kernel code
[   15.148546] devtmpfs: initialized
[   15.160204] Registered cp15_barrier emulation handler
[   15.160236] Registered setend emulation handler
[   15.160252] KASLR enabled
[   15.160675] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[   15.160715] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[   15.165650] pinctrl core: initialized pinctrl subsystem
[   15.167488] SMBIOS 3.0 present.
[   15.167513] DMI:  /, BIOS 2021.01 03/04/2021

lscpu reports:
Architecture:                    aarch64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
CPU(s):                          4
On-line CPU(s) list:             0
Off-line CPU(s) list:            1-3
Thread(s) per core:              1
Core(s) per socket:              1
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       ARM
Model:                           4
Model name:                      Cortex-A53
Stepping:                        r0p4
CPU max MHz:                     1200.0000
CPU min MHz:                     600.0000
BogoMIPS:                        38.40
NUMA node0 CPU(s):               0
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Spec store bypass: Not affected
Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
Vulnerability Spectre v2:        Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fp asimd evtstrm crc32 cpuid
Comment 3 Ang 2021-03-31 00:45:23 UTC
I was able to test Tumbleweed 20210328 with kernel-default 5.9.14-1.1.gc648a46 from obs://build.opensuse.org/home:tiwai and my system was able to bring up four CPUs online

lscpu output:
Architecture:                    aarch64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
CPU(s):                          4
On-line CPU(s) list:             0-3
Thread(s) per core:              1
Core(s) per socket:              4
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       ARM
Model:                           4
Model name:                      Cortex-A53
Stepping:                        r0p4
CPU max MHz:                     1200.0000
CPU min MHz:                     600.0000
BogoMIPS:                        38.40
NUMA node0 CPU(s):               0-3
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Spec store bypass: Not affected
Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
Vulnerability Spectre v2:        Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fp asimd evtstrm crc32 cpuid
Comment 4 Ang 2021-03-31 03:44:53 UTC
I did more testing on this, and the last kernel I tested that would start all four CPUs was kernel-default 5.9.14-1.1.gc648a46 from obs://build.opensuse.org/home:tiwai.

It failed to start three of the four cpus on the kernels from 5.10 and 5.11 when running Tumbleweed snapshot 20210328. It still runs and boots all the way to the graphical environment, however performance is greatly diminished.
Comment 5 Ang 2021-05-03 19:02:48 UTC
Just updating this to say that I have tested kernel-default 5.11.11-2.2 in snapshot 20210429 and all four cores are coming online now on my Raspberry Pi 3.

lscpu output:
Architecture:                    aarch64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
CPU(s):                          4
On-line CPU(s) list:             0-3
Thread(s) per core:              1
Core(s) per socket:              4
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       ARM
Model:                           4
Model name:                      Cortex-A53
Stepping:                        r0p4
CPU max MHz:                     1200.0000
CPU min MHz:                     600.0000
BogoMIPS:                        38.40
NUMA node0 CPU(s):               0-3
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Spec store bypass: Not affected
Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
Vulnerability Spectre v2:        Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fp asimd evtstrm crc32 cpuid