mm: make pagecache tagged lookups return only head pages

Linux Kernel / Linux Kernel - Matthew Wilcox (Oracle) [infradead.org] - 26 February 2021 17:40 UTC

Patch series "Overhaul multi-page lookups for THP", v4.

This THP prep patchset changes several page cache iteration APIs to only return head pages.

- It's only possible to tag head pages in the page cache, so only return head pages, not all their subpages.- Factor a lot of common code out of the various batch lookup routines- Add mapping_seek_hole_data()- Unify find_get_entries() and pagevec_lookup_entries()
- Make find_get_entries only return head pages, like find_get_entry().

These are only loosely connected, but they seem to make sense together as a series.

This patch (of 14):

Pagecache tags are used for dirty page writeback. Since dirtiness is tracked on a per-THP basis, we only want to return the head page rather than each subpage of a tagged page. All the filesystems which use huge pages today are in-memory, so there are no tagged huge pages today.

Link: https://lkml.kernel.org/r/20201112212641.27837-2-willy@infradead.org

c49f50d1983d mm: make pagecache tagged lookups return only head pages
mm/filemap.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

Upstream: git.kernel.org


  • Share