Re: [PATCH v5 1/2] filemap: add helper mapping_max_folio_size()

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

 



Christian Brauner <brauner@xxxxxxxxxx> writes:

> On Tue, 21 May 2024 19:49:38 +0800, Xu Yang wrote:
>> Add mapping_max_folio_size() to get the maximum folio size for this
>> pagecache mapping.
>> 
>> 
>
> Applied to the vfs.fixes branch of the vfs/vfs.git tree.
> Patches in the vfs.fixes 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.

iomap_write_iter() prefaults in userspace buffer chunk bytes (order
MAX_PAGECACHE_ORDER) at a time.
However, the iomap_write_begin() function only handles writes for
PAGE_SIZE bytes at a time for mappings which does not support large
folios. Hence, this causes unnecessary loops of prefaults in
iomap_write_iter() -> fault_in_iov_iter_readable(), causing performance
hits for block device mappings.

This patch fixes iomap_write_iter() to prefault in PAGE_SIZE chunk
bytes.

I guess this change will then go back to v6.6 when large folios got added to iomap.

Looks good to me. Please feel free add - 
Reviewed-by: Ritesh Harjani (IBM) <ritesh.list@xxxxxxxxx>

>
> 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.fixes
>
> [1/2] filemap: add helper mapping_max_folio_size()
>       https://git.kernel.org/vfs/vfs/c/0c31d63eebdd
> [2/2] iomap: fault in smaller chunks for non-large folio mappings
>       https://git.kernel.org/vfs/vfs/c/63ba6f07d115




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux