From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 229BCC433E1 for ; Wed, 19 Aug 2020 15:06:26 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id D74B320882 for ; Wed, 19 Aug 2020 15:06:25 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="UTcsu//B" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D74B320882 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 7F1818D004E; Wed, 19 Aug 2020 11:06:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7A16C8D0013; Wed, 19 Aug 2020 11:06:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 66A638D004E; Wed, 19 Aug 2020 11:06:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0036.hostedemail.com [216.40.44.36]) by kanga.kvack.org (Postfix) with ESMTP id 4C5AC8D0013 for ; Wed, 19 Aug 2020 11:06:25 -0400 (EDT) Received: from smtpin10.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 0E1D8181AEF07 for ; Wed, 19 Aug 2020 15:06:25 +0000 (UTC) X-FDA: 77167644330.10.walk42_140856d27028 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin10.hostedemail.com (Postfix) with ESMTP id 9ABE81698EB for ; Wed, 19 Aug 2020 15:06:01 +0000 (UTC) X-HE-Tag: walk42_140856d27028 X-Filterd-Recvd-Size: 3050 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf20.hostedemail.com (Postfix) with ESMTP for ; Wed, 19 Aug 2020 15:06:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:MIME-Version: Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:In-Reply-To:References; bh=VMU155OtGZK5NBkT7Jr2yah70BMKrGVtMioV19uHfRk=; b=UTcsu//BYBRvVYf5ipwrND1UdG lieFl00JmTxT9xg68X9yM/U8CzQQC38hrr+gzL1ijrtliV00+PDPrmp9whTNG5HjDhErpb2LS1TI+ kU2Ow1TOcAH2flHoUFLW1zJxbRKqrv2AkMuJVD1lKGsj2GnpMq4NIbMYgVHsfHqtTy4zBBTc00RMu 1XhhWWiIbB4LW3eOw/dYYU7MSqKb9S5AE60OSM3Jla200AMo52frbqx4lWQNhiivKybELP0ISWkNl v16CLtzzd4TWTwVGPFLQgTMcD36K2vhW7b4HOzMGrXXHjxjdoPTG58vCJozzSL4+0Dd3VWhoY4OIX uyLc049w==; Received: from willy by casper.infradead.org with local (Exim 4.92.3 #3 (Red Hat Linux)) id 1k8Pf3-0008FX-PW; Wed, 19 Aug 2020 15:05:58 +0000 From: "Matthew Wilcox (Oracle)" To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" , Andrew Morton , Hugh Dickins , William Kucharski , Johannes Weiner , Jan Kara , linux-kernel@vger.kernel.org Subject: [PATCH 0/7] Overhaul find_get_entries and pagevec_lookup_entries Date: Wed, 19 Aug 2020 16:05:48 +0100 Message-Id: <20200819150555.31669-1-willy@infradead.org> X-Mailer: git-send-email 2.21.3 MIME-Version: 1.0 X-Rspamd-Queue-Id: 9ABE81698EB X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam03 Content-Transfer-Encoding: quoted-printable X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: This started out as part of the THP patchset, but it's turned into a nice simplification in its own right. Essentially we end up unifying find_get_entries() and pagevec_lookup_entries() into one function that's better than either, and we get rid of a lot of code in the callers as a result. I'm running this through xfstests right now, but something similar to this has already passed xfstests as part of the THP patchset. I've done my best to avoid off-by-one errors for 'end', but I wouldn't be surprised if I made a mistake. We're not consistent with whether 'end' is inclusive or exclusive and I didn't want to make extensive changes to ensure they were consistent. Matthew Wilcox (Oracle) (7): mm: Use pagevec_lookup in shmem_unlock_mapping mm: Rewrite shmem_seek_hole_data 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 include/linux/pagemap.h | 3 +- include/linux/pagevec.h | 4 -- mm/filemap.c | 19 +++++---- mm/shmem.c | 85 ++++++++++++++--------------------------- mm/swap.c | 38 +----------------- mm/truncate.c | 33 +++------------- 6 files changed, 45 insertions(+), 137 deletions(-) --=20 2.28.0