Re: map multiple blocks per ->map_blocks in iomap writeback

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux