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

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

 



Hi Zi yan,

> From: Zi Yan <ziy@xxxxxxxxxx>
> 
> 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@xxxxxxxxxxxxxxxx/
[2] https://lore.kernel.org/linux-xfs/20240213093713.1753368-9-kernel@xxxxxxxxxxxxxxxx/
[3] https://youtu.be/ar72r5Xf7x4?si=XDb-g7SSIgS-5TkP&t=1457

--
Pankaj




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux