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

Reply via email to