Re: [PATCH v3 0/7] Split a folio to any lower order folios

Pankaj Raghav (Samsung)
2024-02-13T12:31:06Z

Hi Zi yan,

> From: Zi Yan <ziy@nvidia.com>
>
> Hi all,
>
> File folio supports any order and people would like to support flexible orders
> for anonymous folio[1] too. Currently, split_huge_page() only splits a huge
> page to order-0 pages, but splitting to orders higher than 0 is also useful.
> This patchset adds support for splitting a huge page to any lower order pages
> and uses it during file folio truncate operations.
>

I recently posted patches to enable block size > page size(Large Block
Sizes) in XFS[1].
The main idea of LBS is to have a notion of minimum order in the
page cache that corresponds to the filesystem block size.

Ability to split a folio based on a given order is something that would
definitely optimize the LBS implementation.

The current implementation refuses to split a large folio if it has a
minimum order set in the page cache [2]. What we would like to have instead
is to split it based on the minimum order. The main use is of course being
able to free some folios during partial truncate operation.

Your patch was also suggested by willy during our LPC talk[3].

I tried rebasing your patch and there were a lot of non-trivial conflicts.
Is there any plans on sending a new version?

[1] https://lore.kernel.org/linux-xfs/20240213093713.1753368-1-kernel@pankajraghav.com/
[2] https://lore.kernel.org/linux-xfs/20240213093713.1753368-9-kernel@pankajraghav.com/
[3] https://youtu.be/ar72r5Xf7x4?si=XDb-g7SSIgS-5TkP&t=1457

--
Pankaj