Hello! This patch series addresses lockups reported by users when systemd unit reading lots of files from a filesystem mounted with lazytime mount option exits. See patch 3 for more details about the reproducer. There are two main issues why switching many inodes between wbs: 1) Multiple workers will be spawned to do the switching but they all contend on the same wb->list_lock making all the parallelism pointless and just wasting time. 2) Sorting of wb->b_dirty list by dirtied_time_when is inherently slow. Patches 1-3 address these problems, patch 4 adds a tracepoint for better observability of inode writeback switching. Changes since v1: * Added Acked-by's from Tejun * Modified patch 1 to directly insert isw items into a list of switches to make instead of queueing rcu_work for that. This actually speeded up large scale switching about 2x. Honza Previous versions: Link: http://lore.kernel.org/r/20250909143734.30801-1-jack@xxxxxxx # v1