On Thu, 07 Dec 2023 08:26:56 +0100, Christoph Hellwig wrote: > this series overhaults a large chunk of the iomap writeback code with > the end result that ->map_blocks can now map multiple blocks at a time, > at least as long as they are all inside the same folio. > > On a sufficiently large system (32 cores in my case) this significantly > reduces CPU usage for buffered write workloads on xfs, with a very minor > improvement in write bandwith that might be within the measurement > tolerance. > > [...] Darrick, Christoph, I gave us a separate branch for this. I thought about putting this on top of vfs.misc but I feel that this would be a bit ugly. Different layout is possible though. --- Applied to the vfs.iomap branch of the vfs/vfs.git tree. Patches in the vfs.iomap branch should appear in linux-next soon. Please report any outstanding bugs that were missed during review in a new review to the original patch series allowing us to drop it. It's encouraged to provide Acked-bys and Reviewed-bys even though the patch has now been applied. If possible patch trailers will be updated. Note that commit hashes shown below are subject to change due to rebase, trailer updates or similar. If in doubt, please check the listed branch. tree: https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git branch: vfs.iomap [01/14] iomap: clear the per-folio dirty bits on all writeback failures https://git.kernel.org/vfs/vfs/c/7c821e1f5a5a [02/14] iomap: treat inline data in iomap_writepage_map as an I/O error https://git.kernel.org/vfs/vfs/c/6571f184afe3 [03/14] iomap: move the io_folios field out of struct iomap_ioend https://git.kernel.org/vfs/vfs/c/e5f9e159cf10 [04/14] iomap: move the PF_MEMALLOC check to iomap_writepages https://git.kernel.org/vfs/vfs/c/fc51566e62ef [05/14] iomap: factor out a iomap_writepage_handle_eof helper https://git.kernel.org/vfs/vfs/c/89d887160535 [06/14] iomap: move all remaining per-folio logic into iomap_writepage_map https://git.kernel.org/vfs/vfs/c/6d3bac5014bf [07/14] iomap: clean up the iomap_alloc_ioend calling convention https://git.kernel.org/vfs/vfs/c/d7acac8ed175 [08/14] iomap: move the iomap_sector sector calculation out of iomap_add_to_ioend https://git.kernel.org/vfs/vfs/c/a04db4e40bdb [09/14] iomap: don't chain bios https://git.kernel.org/vfs/vfs/c/7a579e360d15 [10/14] iomap: only call mapping_set_error once for each failed bio https://git.kernel.org/vfs/vfs/c/a64f2b75da6b [11/14] iomap: factor out a iomap_writepage_map_block helper https://git.kernel.org/vfs/vfs/c/3853862b0b77 [12/14] iomap: submit ioends immediately https://git.kernel.org/vfs/vfs/c/ae00bec07dee [13/14] iomap: map multiple blocks at a time https://git.kernel.org/vfs/vfs/c/2487070c95f4 [14/14] iomap: pass the length of the dirty region to ->map_blocks https://git.kernel.org/vfs/vfs/c/a828782eaff6