[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201026041408.25230-1-willy@infradead.org>
Date: Mon, 26 Oct 2020 04:13:56 +0000
From: "Matthew Wilcox (Oracle)" <willy@...radead.org>
To: linux-mm@...ck.org
Cc: "Matthew Wilcox (Oracle)" <willy@...radead.org>,
linux-fsdevel@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>,
Hugh Dickins <hughd@...gle.com>,
Johannes Weiner <hannes@...xchg.org>,
Yang Shi <yang.shi@...ux.alibaba.com>,
Dave Chinner <dchinner@...hat.com>,
linux-kernel@...r.kernel.org
Subject: [PATCH v3 00/12] Overhaul multi-page lookups for THP
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. Another ~30 MM patches to come after this batch to
enable THPs for filesystems.
Matthew Wilcox (Oracle) (12):
mm: Make pagecache tagged lookups return only head pages
mm/shmem: Use pagevec_lookup in shmem_unlock_mapping
mm/filemap: Add helper for finding pages
mm/filemap: Add 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
include/linux/pagemap.h | 5 +-
include/linux/pagevec.h | 4 -
mm/filemap.c | 275 +++++++++++++++++++++++++++-------------
mm/internal.h | 5 +
mm/shmem.c | 213 +++++++------------------------
mm/swap.c | 38 +-----
mm/truncate.c | 249 ++++++++++++++----------------------
7 files changed, 335 insertions(+), 454 deletions(-)
--
2.28.0
Powered by blists - more mailing lists