[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <D4D7EBEC-920F-4DCE-9023-A7BB3BFD3137@oracle.com>
Date: Tue, 29 Sep 2020 02:50:55 -0600
From: William Kucharski <william.kucharski@...cle.com>
To: "Matthew Wilcox (Oracle)" <willy@...radead.org>
Cc: linux-mm <linux-mm@...ck.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Hugh Dickins <hughd@...gle.com>,
Johannes Weiner <hannes@...xchg.org>, Jan Kara <jack@...e.cz>,
Yang Shi <yang.shi@...ux.alibaba.com>,
Dave Chinner <dchinner@...hat.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 00/12] Overhaul multi-page lookups for THP
Looks good to me; I really like the addition of the "end" parameter to
find_get_entries() and the conversion of pagevec_lookup_entries()...
For the series:
Reviewed-by: William Kucharski <william.kucharski@...cle.com>
> On Sep 14, 2020, at 7:00 AM, Matthew Wilcox (Oracle) <willy@...radead.org> wrote:
>
> The critical patch to review here is patch 11, "Handle truncates that
> split THPs". This code is shared with shmem, and while xfstests passes
> (both with the tmpfs filesystem and with THPs enabled for XFS), it is
> terribly subtle.
>
> I posted a similar patch series a few weeks ago [1], but this goes a few
> steps further than that one did. In addition to the unification of
> find_get_entries() and pagevec_lookup_entries(), this patch series
> includes:
>
> - Only return the head pages from tagged lookups
> - Factor a lot of common code out of the various batch lookup routines
> - Add mapping_seek_hole_data()
> - Only return head pages from find_get_entries
>
> I also have a patch to iomap to use mapping_seek_hole_data(), but I'm
> not including that as part of this batch of patches -- I'll send it
> through the iomap tree once mapping_seek_hole_data() lands upstream.
>
> [1] https://lore.kernel.org/linux-mm/20200819184850.24779-1-willy@infradead.org/
>
> 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 | 267 +++++++++++++++++++++++++++-------------
> mm/internal.h | 5 +
> mm/shmem.c | 214 +++++++-------------------------
> mm/swap.c | 38 +-----
> mm/truncate.c | 249 ++++++++++++++-----------------------
> 7 files changed, 329 insertions(+), 453 deletions(-)
>
> --
> 2.28.0
>
Powered by blists - more mailing lists