On 10/10/25 11:15, Venkat Rao Bagalkote wrote:
Greetings!!!
IBM CI has reported kernel boot warnings on the mainline kernel on IBM
Power11 system.
Attached is the .config file.
Traces:
[ 0.040098] plpks: POWER LPAR Platform KeyStore is not supported or
enabled
[ 0.043041] ------------[ cut here ]------------
[ 0.043045] WARNING: CPU: 0 PID: 1 at arch/powerpc/mm/mem.c:341
add_system_ram_resources+0xfc/0x180
[ 0.043058] Modules linked in:
[ 0.043065] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted
6.17.0-auto-12607-g5472d60c129f #1 VOLUNTARY
[ 0.043072] Hardware name: IBM,9080-HEX Power11 (architected)
0x820200 0xf000007 of:IBM,FW1110.01 (NH1110_069) hv:phyp pSeries
[ 0.043078] NIP: c00000000201de3c LR: c00000000201de34 CTR:
0000000000000000
[ 0.043082] REGS: c000000127cef8a0 TRAP: 0700 Not tainted
(6.17.0-auto-12607-g5472d60c129f)
[ 0.043088] MSR: 8000000002029033 <SF,VEC,EE,ME,IR,DR,RI,LE> CR:
84000840 XER: 20040010
[ 0.043099] CFAR: c00000000017eed0 IRQMASK: 0
[ 0.043099] GPR00: c00000000201de34 c000000127cefb40
c0000000016a8100 0000000000000001
[ 0.043099] GPR04: c00000012005aa00 0000000020000000
c000000002b705c8 0000000000000000
[ 0.043099] GPR08: 000000007fffffff fffffffffffffff0
c000000002db8100 000000011fffffff
[ 0.043099] GPR12: c00000000201dd40 c000000002ff0000
c0000000000112bc 0000000000000000
[ 0.043099] GPR16: 0000000000000000 0000000000000000
0000000000000000 0000000000000000
[ 0.043099] GPR20: 0000000000000000 0000000000000000
0000000000000000 c0000000015a3808
[ 0.043099] GPR24: c00000000200468c c000000001699888
0000000000000106 c0000000020d1950
[ 0.043099] GPR28: c0000000014683f8 0000000081000200
c0000000015c1868 c000000002b9f710
[ 0.043138] NIP [c00000000201de3c] add_system_ram_resources+0xfc/0x180
[ 0.043143] LR [c00000000201de34] add_system_ram_resources+0xf4/0x180
[ 0.043148] Call Trace:
[ 0.043150] [c000000127cefb40] [c00000000201de34]
add_system_ram_resources+0xf4/0x180 (unreliable)
[ 0.043157] [c000000127cefba0] [c000000000010eb4]
do_one_initcall+0x60/0x36c
[ 0.043162] [c000000127cefc80] [c0000000020068cc]
do_initcalls+0x120/0x220
[ 0.043169] [c000000127cefd30] [c000000002006cbc]
kernel_init_freeable+0x23c/0x390
[ 0.043174] [c000000127cefde0] [c0000000000112e8]
kernel_init+0x34/0x26c
[ 0.043178] [c000000127cefe50] [c00000000000df7c]
ret_from_kernel_user_thread+0x14/0x1c
[ 0.043181] ---- interrupt: 0 at 0x0
[ 0.043186] Code: 3d02010c e9210028 e9410020 fb840010 fba40018
38685b48 3929ffff f9440000 f9240008 4a161035 60000000 54630ffe
<0b030000> 39210028 39400000 39010020
[ 0.043197] ---[ end trace 0000000000000000 ]---
[ 0.043202] ------------[ cut here ]------------
[ 0.043203] WARNING: CPU: 0 PID: 1 at arch/powerpc/mm/mem.c:341
add_system_ram_resources+0xfc/0x180
[ 0.043209] Modules linked in:
[ 0.043212] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Tainted: G W
6.17.0-auto-12607-g5472d60c129f #1 VOLUNTARY
[ 0.043217] Tainted: [W]=WARN
[ 0.043219] Hardware name: IBM,9080-HEX Power11 (architected)
0x820200 0xf000007 of:IBM,FW1110.01 (NH1110_069) hv:phyp pSeries
[ 0.043223] NIP: c00000000201de3c LR: c00000000201de34 CTR:
0000000000000000
[ 0.043226] REGS: c000000127cef8a0 TRAP: 0700 Tainted: G W
(6.17.0-auto-12607-g5472d60c129f)
[ 0.043229] MSR: 8000000002029033 <SF,VEC,EE,ME,IR,DR,RI,LE> CR:
84000440 XER: 20040010
[ 0.043237] CFAR: c00000000017eed0 IRQMASK: 0
[ 0.043237] GPR00: c00000000201de34 c000000127cefb40
c0000000016a8100 0000000000000001
[ 0.043237] GPR04: c00000012005a9c0 0000000020000000
c000000002b705c8 0000000080000000
[ 0.043237] GPR08: 000000257fffffff fffffffffffffff0
c000000002db8100 000000011fffffff
[ 0.043237] GPR12: c00000000201dd40 c000000002ff0000
c0000000000112bc 0000000000000000
[ 0.043237] GPR16: 0000000000000000 0000000000000000
0000000000000000 0000000000000000
[ 0.043237] GPR20: 0000000000000000 0000000000000000
0000000000000000 c0000000015a3808
[ 0.043237] GPR24: c00000000200468c c000000001699888
0000000000000106 c0000000020d1950
[ 0.043237] GPR28: c0000000014683f8 0000000081000200
c0000000015c1868 c000000002b9f710
[ 0.043271] NIP [c00000000201de3c] add_system_ram_resources+0xfc/0x180
[ 0.043276] LR [c00000000201de34] add_system_ram_resources+0xf4/0x180
[ 0.043280] Call Trace:
[ 0.043281] [c000000127cefb40] [c00000000201de34]
add_system_ram_resources+0xf4/0x180 (unreliable)
[ 0.043287] [c000000127cefba0] [c000000000010eb4]
do_one_initcall+0x60/0x36c
[ 0.043291] [c000000127cefc80] [c0000000020068cc]
do_initcalls+0x120/0x220
[ 0.043296] [c000000127cefd30] [c000000002006cbc]
kernel_init_freeable+0x23c/0x390
[ 0.043301] [c000000127cefde0] [c0000000000112e8]
kernel_init+0x34/0x26c
[ 0.043305] [c000000127cefe50] [c00000000000df7c]
ret_from_kernel_user_thread+0x14/0x1c
[ 0.043308] ---- interrupt: 0 at 0x0
[ 0.043311] Code: 3d02010c e9210028 e9410020 fb840010 fba40018
38685b48 3929ffff f9440000 f9240008 4a161035 60000000 54630ffe
<0b030000> 39210028 39400000 39010020
[ 0.043322] ---[ end trace 0000000000000000 ]---
[ 0.043520] kprobes: kprobe jump-optimization is enabled. Al
This is happening because crashkernel reservation is not coming under
single memblock region.
commit e3185ee438c28ee926cb3ef26f3bfb0aae510606
Author: Sourabh Jain <[email protected]>
Date: Fri Jan 31 17:08:30 2025 +0530
powerpc/crash: use generic crashkernel reservation
Commit 0ab97169aa05 ("crash_core: add generic function to do
reservation")
added a generic function to reserve crashkernel memory. So let's
use the
same function on powerpc and remove the architecture-specific code that
essentially does the same thing.
The above commit moved powerpc crashkernel reservation to generic
crashkernel reservation
which adds the crashkernel memory to /proc/iomem.
Since add_system_ram_resources()/arch/powerpc/mm/mem.c also add System
RAM to /proc/iomem there
is a chance of conflict.
Although the below commit try to avoid that by inserting the System RAM
resource inserted request_resource()
commit bce074bdbc36e747b9e0783fe642f7b634cfb536
Author: Sourabh Jain <[email protected]>
Date: Fri Jan 31 17:08:29 2025 +0530
powerpc: insert System RAM resource to prevent crashkernel conflict
The next patch in the series with title "powerpc/crash: use generic
But the above commit is not enough if crashkernel memory is part of two
different memblock objects.
In this case insert_resource() on System RAM will fail with a conflict.
For example:
If the below crashkernel memory is added to /proc/iomem:
20000000-11fffffff : Crash kernel
Then memblock with below memory ranges will failed to inserted in
/proc/iomem:
00000000-7fffffff : System RAM
80000000-257fffffff : System RAM
Now we have two options:
1. Don't add System RAM to /proc/iomem
2. Don't add crashkernel to /proc/iomem
Not adding System RAM breaks the kdump tools on major distros, so that’s
not a good idea.
I think the second option is better - not adding crashkernel to
/proc/iomem - because it has never
been done in the past on powerpc.
I think one of my old patch:
https://lore.kernel.org/all/[email protected]/
Along with some changes in below patch:
https://lore.kernel.org/all/[email protected]/
should fix the issue.
I will send a fresh fix patch.
Thanks for reporting the issue Venkat.
- Sourabh Jain