ode: 0f 92 c2 8b 01 0f b6 d2 c1 e2 08 30 e4 09 d0 3d ff 00 00 00 0f 87 1e 02 00 00 85 c0 74 10 0f b6 01 84 c0 74 09 f3 90 0f b6 01 <84> c0 75 f7 b8 01 00 00 00 66 89 01 65 48 ff 05 ad af ed 01 c3 cc
12 25 01:23:57 arch-laptop kernel: RSP: 0018:ffffd4c4c06e3a30 EFLAGS: 00000202
12 25 01:23:57 arch-laptop kernel: RAX: 0000000000000001 RBX: ffffd4c4c06e3b10 RCX: ffff8d69446aa698
12 25 01:23:57 arch-laptop kernel: RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff8d69446aa698
12 25 01:23:57 arch-laptop kernel: RBP: ffffffff94118f38 R08: 0000000000000000 R09: 0000000000000000
12 25 01:23:57 arch-laptop kernel: R10: ffff8d6fa1e38340 R11: ffff8d6fbe2d6000 R12: ffff8d6c5aaf8000
12 25 01:23:57 arch-laptop kernel: R13: ffffffff91d15410 R14: ffff8d69446aa680 R15: ffff8d69446aa680
12 25 01:23:57 arch-laptop kernel: FS: 0000000000000000(0000) GS:ffff8d700deaf000(0000) knlGS:0000000000000000
12 25 01:23:57 arch-laptop kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
12 25 01:23:57 arch-laptop kernel: CR2: 00000000100af568 CR3: 000000020da24000 CR4: 0000000000f50ef0
12 25 01:23:57 arch-laptop kernel: PKRU: 55555554
12 25 01:23:57 arch-laptop kernel: Call Trace:
12 25 01:23:57 arch-laptop kernel:
12 25 01:23:57 arch-laptop kernel: _raw_spin_lock+0x29/0x30
12 25 01:23:57 arch-laptop kernel: __list_lru_walk_one.constprop.0+0x94/0x1d0
12 25 01:23:57 arch-laptop kernel: ? __pfx_rust_shrink_free_page_wrap+0x10/0x10
12 25 01:23:57 arch-laptop kernel: ? __pfx_rust_shrink_free_page_wrap+0x10/0x10
12 25 01:23:57 arch-laptop kernel: list_lru_walk_node+0x46/0x1f0
12 25 01:23:57 arch-laptop kernel: ? __pfx_rust_shrink_free_page_wrap+0x10/0x10
12 25 01:23:57 arch-laptop kernel: rust_helper_list_lru_walk+0x9d/0xe0
12 25 01:23:57 arch-laptop kernel: do_shrink_slab+0x140/0x350
12 25 01:23:57 arch-laptop kernel: shrink_slab+0xd7/0x3e0
12 25 01:23:57 arch-laptop kernel: shrink_one+0xfe/0x1d0
12 25 01:23:57 arch-laptop kernel: shrink_node+0xb4a/0xd60
12 25 01:23:57 arch-laptop kernel: ? pgdat_balanced+0x83/0x140
12 25 01:23:57 arch-laptop kernel: kswapd+0x870/0x1100
12 25 01:23:57 arch-laptop kernel: ? __switch_to+0x103/0x3f0
12 25 01:23:57 arch-laptop kernel: ? __pfx_kswapd+0x10/0x10
12 25 01:23:57 arch-laptop kernel: kthread+0xfc/0x240
12 25 01:23:57 arch-laptop kernel: ? __pfx_kthread+0x10/0x10
12 25 01:23:57 arch-laptop kernel: ret_from_fork+0x1c2/0x1f0
12 25 01:23:57 arch-laptop kernel: ? __pfx_kthread+0x10/0x10
12 25 01:23:57 arch-laptop kernel: ret_from_fork_asm+0x1a/0x30
12 25 01:23:57 arch-laptop kernel:
rust/helpers/binder.c:
unsigned long rust_helper_list_lru_walk(struct list_lru *lru,
list_lru_walk_cb isolate, void *cb_arg,
unsigned long nr_to_walk)
{
return list_lru_walk(lru, isolate, cb_arg, nr_to_walk);
}
It appears that there exists a patch addressing this issue:
'rust: binder: stop spinning in shrinker' [4]
I have tested this patch, and it appears to resolve the soft lockup
issue.
Could this patch be picked up to fix the regression?
[1] https://github.com/waydroid/waydroid/issues/2163
[2] https://bbs.archlinux.org/viewtopic.php?id=311223
[3] https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/issues/174
[4] https://lore.kernel.org/all/20251202-binder-shrink-unspin-v1-1-263efb9ad625@google.com/
regards,
Ban ZuoXiang[BUG] soft lockup in kswapd0 caused by Rust binderBan ZuoXiang undefinedaliceryhl@google.com, gregkh@linuxfoundation.org undefined undefined undefined undefined undefined undefined undefined undefinedvL