[PATCH 0/78] Transparent Huge Pages for XFS

From: Matthew Wilcox
Date: Fri Aug 21 2020 - 18:45:26 EST


... just kidding. Nobody's going to review 78 patches. Here's a git
tree instead:

http://git.infradead.org/users/willy/pagecache.git

I do want people to know that the THP patchset now passes xfstests.
I'm sending out portions of the patchset as individual series and trying
to get at least some of these patches merged for 5.10.

https://lore.kernel.org/linux-mm/20200819150555.31669-1-willy@xxxxxxxxxxxxx/
https://lore.kernel.org/linux-mm/20200819184850.24779-1-willy@xxxxxxxxxxxxx/
https://lore.kernel.org/linux-block/20200817195206.15172-1-willy@xxxxxxxxxxxxx/
https://lore.kernel.org/linux-mm/20200804161755.10100-1-willy@xxxxxxxxxxxxx/
https://lore.kernel.org/linux-mm/20200629152033.16175-1-willy@xxxxxxxxxxxxx/

I would like people to run their workloads against the git tree and
provide some performance numbers.

The biggest part of this patchset is supporting variable-sized THPs.
So far, all THPs have been PMD sized, and filesystems would prefer a page
size somewhere between PAGE_SIZE and PMD_SIZE. Using the readahead code,
we increase the page size as we increase the size of readaheads.

This patch set does not attempt to allocate larger pages on writes.
That's a future enhancement. There is also no support for larger pages
on filesystems other than XFS. I have plans to add support for NFS, but I
don't plan to add support for buffer heads. Think of this as an incentive
to convert to using the iomap infrastructure for buffered I/O ;-)