lkml.org 
[lkml]   [2020]   [Nov]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v4 00/16] Overhaul multi-page lookups for THP
Date
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.

v4:
- Add FGP_ENTRY, remove find_get_entry and find_lock_entry
- Rename xas_find_get_entry to find_get_entry
- Add "Optimise get_shadow_from_swap_cache"
- Move "iomap: Use mapping_seek_hole_data" to this patch series
- Rebase against next-20201112

Matthew Wilcox (Oracle) (16):
mm: Make pagecache tagged lookups return only head pages
mm/shmem: Use pagevec_lookup in shmem_unlock_mapping
mm/swap: Optimise get_shadow_from_swap_cache
mm: Add FGP_ENTRY
mm/filemap: Rename find_get_entry to mapping_get_entry
mm/filemap: Add helper for finding pages
mm/filemap: Add mapping_seek_hole_data
iomap: Use mapping_seek_hole_data
mm: Add and use find_lock_entries
mm: Add an 'end' parameter to find_get_entries
mm: Add an 'end' parameter to pagevec_lookup_entries
mm: Remove nr_entries parameter from pagevec_lookup_entries
mm: Pass pvec directly to find_get_entries
mm: Remove pagevec_lookup_entries
mm/truncate,shmem: Handle truncates that split THPs
mm/filemap: Return only head pages from find_get_entries

fs/iomap/seek.c | 125 ++------------
include/linux/pagemap.h | 6 +-
include/linux/pagevec.h | 4 -
mm/filemap.c | 351 +++++++++++++++++++++++++---------------
mm/internal.h | 7 +-
mm/shmem.c | 218 ++++++-------------------
mm/swap.c | 38 +----
mm/swap_state.c | 7 +-
mm/truncate.c | 249 +++++++++++-----------------
9 files changed, 390 insertions(+), 615 deletions(-)

--
2.28.0

\
 
 \ /
  Last update: 2020-11-12 22:28    [W:4.911 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site