Re: [PATCH v17 0/3] Improve proc RSS accuracy
From: Nathan Chancellor
Date: Thu Feb 26 2026 - 20:12:23 EST
Hi Mathieu,
On Thu, Feb 26, 2026 at 02:38:04PM -0500, Mathieu Desnoyers wrote:
> I've successfully booted a defconfig s390x next-20260226 kernel in qemu
> with 1 and 4 CPUs, and within a nested s390x VM on 2 cpus.
>
> I guess I'll really need more info about your specific .config and
> command line args to help further.
FWIW, the ClangBuiltLinux CI sees a boot failure with sparc64_defconfig,
which does not appear to be clang specific. I can reproduce it here
with:
$ make -skj"$(nproc)" ARCH=sparc CROSS_COMPILE=sparc64-linux- mrproper sparc64_defconfig image
$ curl -LSs https://github.com/ClangBuiltLinux/boot-utils/releases/download/20241120-044434/sparc64-rootfs.cpio.zst | zstd -d >rootfs.cpio
$ qemu-system-sparc64 \
-display none \
-nodefaults \
-M sun4u \
-cpu 'TI UltraSparc IIi' \
-append console=ttyS0 \
-kernel arch/sparc/boot/image \
-initrd rootfs.cpio \
-m 1G \
-serial mon:stdio
...
[ 0.001502] Linux version 7.0.0-rc1+ (nathan@framework-amd-ryzen-maxplus-395) (sparc64-linux-gcc (GCC) 15.2.0, GNU ld (GNU Binutils) 2.45) #1 SMP Thu Feb 26 18:00:08 MST 2026
...
[ 1.339282] Run /init as init process
[ 1.340037] Unable to handle kernel NULL pointer dereference
[ 1.340515] tsk->{mm,active_mm}->context = 0000000000000000
[ 1.340684] tsk->{mm,active_mm}->pgd = fffff80000402000
[ 1.340838] \|/ ____ \|/
[ 1.340838] "@'/ .. \`@"
[ 1.340838] /_| \__/ |_\
[ 1.340838] \__U_/
[ 1.341260] swapper/0(1): Oops [#1]
[ 1.341575] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 7.0.0-rc1+ #1 VOLUNTARY
[ 1.341937] TSTATE: 0000004411001606 TPC: 0000000000465674 TNPC: 0000000000465678 Y: 00000021 Not tainted
[ 1.342199] TPC: <init_new_context+0x14/0xc0>
[ 1.342584] g0: 0000000000000000 g1: 0000000000000000 g2: 0000000000000000 g3: 0000000000000000
[ 1.342815] g4: fffff80004170000 g5: fffff8003e1d2000 g6: fffff80004134000 g7: fffff8003f814598
[ 1.343047] o0: fffff8000479c0a0 o1: 0000000000000000 o2: 0000000000002000 o3: 0000000000000000
[ 1.343276] o4: fffff80004621200 o5: fffff80004006e00 sp: fffff80004137331 ret_pc: 000000000062a520
[ 1.343513] RPC: <kmem_cache_alloc_noprof+0x1c0/0x560>
[ 1.343681] l0: ffffffffffffffff l1: 0000000000000000 l2: 0000000000000001 l3: 0000000000000000
[ 1.343917] l4: 000000004fd6805e l5: 0000000001503c00 l6: 0000000001423800 l7: 0000000000000012
[ 1.344144] i0: fffff80004170000 i1: fffff8000479c0a0 i2: 0000000000472030 i3: 000000000180ac00
[ 1.344371] i4: 0000000000000000 i5: fffff8000400b500 i6: fffff800041373e1 i7: 0000000000472044
[ 1.344601] I7: <mm_init.isra.0+0x144/0x1e0>
[ 1.344751] Call Trace:
[ 1.344871] [<0000000000472044>] mm_init.isra.0+0x144/0x1e0
[ 1.345054] [<00000000006602ec>] alloc_bprm+0xcc/0x1e0
[ 1.345195] [<0000000000660e6c>] kernel_execve+0x2c/0x1c0
[ 1.345345] [<0000000000be4060>] kernel_init+0x70/0x128
[ 1.345496] [<00000000004060f0>] ret_from_fork+0x24/0x34
[ 1.345652] [<0000000000000000>] 0x0
[ 1.345823] Disabling lock debugging due to kernel taint
[ 1.346046] Caller[0000000000472044]: mm_init.isra.0+0x144/0x1e0
[ 1.346229] Caller[00000000006602ec]: alloc_bprm+0xcc/0x1e0
[ 1.346388] Caller[0000000000660e6c]: kernel_execve+0x2c/0x1c0
[ 1.346553] Caller[0000000000be4060]: kernel_init+0x70/0x128
[ 1.346707] Caller[00000000004060f0]: ret_from_fork+0x24/0x34
[ 1.346864] Caller[0000000000000000]: 0x0
[ 1.346985] Instruction DUMP:
[ 1.347007] 92102000
[ 1.347135] 90100019
[ 1.347204] f85e6490
[ 1.347281] <c6588000>
[ 1.347349] c25e6388
[ 1.347416] fa5e6488
[ 1.347485] 82004003
[ 1.347552] c65e63c0
[ 1.347619] 83784c00
[ 1.347689]
[ 1.348041] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009
[ 1.348649] Press Stop-A (L1-A) from sun keyboard or send break
[ 1.348649] twice on console to return to the boot prom
[ 1.348940] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009 ]---
This series is not bisectable to see which specific patch causes this,
as I get
In file included from mm/init-mm.c:2:
include/linux/mm_types.h:1419:57: error: 'PERCPU_COUNTER_TREE_ITEMS_STATIC_SIZE' undeclared here (not in a function)
1419 | [0 ... sizeof(cpumask_t) + MM_CID_STATIC_SIZE + PERCPU_COUNTER_TREE_ITEMS_STATIC_SIZE. - 1] = 0 \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/init-mm.c:50:27: note: in expansion of macro 'MM_STRUCT_FLEXIBLE_ARRAY_INIT'
50 | .flexible_array = MM_STRUCT_FLEXIBLE_ARRAY_INIT,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mm_types.h:1419:10: error: array index in initializer not of integer type
1419 | [0 ... sizeof(cpumask_t) + MM_CID_STATIC_SIZE + PERCPU_COUNTER_TREE_ITEMS_STATIC_SIZE - 1] = 0 \
| ^
mm/init-mm.c:50:27: note: in expansion of macro 'MM_STRUCT_FLEXIBLE_ARRAY_INIT'
50 | .flexible_array = MM_STRUCT_FLEXIBLE_ARRAY_INIT,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mm_types.h:1419:10: note: (near initialization for 'init_mm.flexible_array')
1419 | [0 ... sizeof(cpumask_t) + MM_CID_STATIC_SIZE + PERCPU_COUNTER_TREE_ITEMS_STATIC_SIZE - 1] = 0 \
| ^
mm/init-mm.c:50:27: note: in expansion of macro 'MM_STRUCT_FLEXIBLE_ARRAY_INIT'
50 | .flexible_array = MM_STRUCT_FLEXIBLE_ARRAY_INIT,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
prior to this change that removes PERCPU_COUNTER_TREE_ITEMS_STATIC_SIZE.
Cheers,
Nathan