Re: [PATCH 0/2] jbd2: bound j_list_lock hold time in the checkpoint shrinker
From: Theodore Ts'o
Date: Thu Jul 23 2026 - 09:16:58 EST
On Mon, 13 Jul 2026 12:22:27 +0200, Max Kellermann wrote:
> We hit recurring RCU stalls / soft lockups on a busy ext4 filesystem
> that serves as the CacheFiles backing store for a Ceph (fscache)
> client. The stall is always the journal commit thread spinning on
> journal->j_list_lock:
>
> rcu: INFO: rcu_sched self-detected stall on CPU
> rcu: 106-....: (2099 ticks this GP) ... (t=2100 jiffies)
> CPU: 106 Comm: jbd2/nvme1n1p1-
> RIP: 0010:queued_spin_lock_slowpath+0x20a/0x240
> Call Trace:
> jbd2_journal_write_metadata_buffer+0x1c0/0x310
> jbd2_journal_commit_transaction+0x5e2/0x16e0
> kjournald2+0xa1/0x220
> kthread+0xe4/0x1d0
>
> [...]
Applied, thanks!
[1/2] jbd2: check need_resched() when skipping busy checkpoint buffers
commit: f213e12ff5c9590b1034ae8da0e6d09665c772d0
[2/2] jbd2: bound shrinker scans by examined checkpoint buffers
commit: 15cb16496446b94e67f7abcb049b8e2c75cd3d02
Best regards,
--
Theodore Ts'o <tytso@xxxxxxx>