From patchwork Thu Jan 10 03:08:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yu Zhao X-Patchwork-Id: 10755153 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7EF4391E for ; Thu, 10 Jan 2019 03:09:19 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 695E82911D for ; Thu, 10 Jan 2019 03:09:19 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 56DF129134; Thu, 10 Jan 2019 03:09:19 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, USER_IN_DEF_DKIM_WL autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E70922911D for ; Thu, 10 Jan 2019 03:09:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E671E8E009D; Wed, 9 Jan 2019 22:09:17 -0500 (EST) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id E16DA8E0038; Wed, 9 Jan 2019 22:09:17 -0500 (EST) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D065A8E009D; Wed, 9 Jan 2019 22:09:17 -0500 (EST) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-io1-f69.google.com (mail-io1-f69.google.com [209.85.166.69]) by kanga.kvack.org (Postfix) with ESMTP id A92A78E0038 for ; Wed, 9 Jan 2019 22:09:17 -0500 (EST) Received: by mail-io1-f69.google.com with SMTP id a12so8429839iok.8 for ; Wed, 09 Jan 2019 19:09:17 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:mime-version:content-transfer-encoding; bh=feEpNlqpnoPxpeqMd/XrOoCASnhVqa5NxR5fyRNqcco=; b=SnsnnS0vzZq6HNg3ohiyNxPnwcg1tDEsSaMkkmsFv85/4+HuKi8r0SxqcgKp7a+Scp 61r1WD1DogjF1DJ2Rb9jv5TSTZieBhbTLfFkLuP9N481Y6eG+9NM6svGLK3E0NPF8CHu HAeH6/GFTE00u0oQtxzBQLezx9L64XMNh/KFpqaOfh7uhqr76by0jeRPPLIpJZ3c0tFf kuFqJUHPGNz4/E5u9kBAo48yJpJH4o9gNFO6DyXdQDuZt+yV1ThfmAAE9TvG90TyJ1Ba ohaNVd2lPpe/B916X9dOh3BoOW/CR0I6nWd+7Q6y1oY8VRyON3jusj+Dt6Xccelrdf44 uZ/g== X-Gm-Message-State: AJcUukfzcy9sEVHk07IViw9uW8hOLpTE1zPtOETa6uDNdRguIVqBtRJv GBSSOA9Kt/OqHyxIUpdcbbQAFaw8FN5crus0SvrCGZyeS2J/4MSS7V01ml+tNwfcy/jJXebFOQX UPQB/Knreb2S1ch8RBNAg6HV63ec5EsukTU3Nwj8RFH/I3ZoRWhLWjxxYJEcG9CjYLx3jANeUcR E8LKNk2Avr5KxJOkRDetiWgQcCmbGHGxKN8FWfkIDrhRfRStEyuH9MgsO+69EEVRZA88XvYU/+6 ZiEmJcByu2w7m+TO4o0vJASiuPysX9ad4S6PoUD75wWjplRpC71QttyIwwDNhi37QYDWeKj4j/H B81GUvP7W24yW08HPZclUUnV8t+CguPj9NIia1GHhQ7YiYG8e/fk7kbabFqtg5daEQcF/ekkHZQ e X-Received: by 2002:a24:6115:: with SMTP id s21mr6307389itc.62.1547089757453; Wed, 09 Jan 2019 19:09:17 -0800 (PST) X-Received: by 2002:a24:6115:: with SMTP id s21mr6307371itc.62.1547089756746; Wed, 09 Jan 2019 19:09:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1547089756; cv=none; d=google.com; s=arc-20160816; b=ZCMHjbBB2/27Y1QguFu+lxcrAXG19e7o6uDdJnZL55w0a4L83615FAaj8FoqmN8YkK 7yU5KZmSTe1HnKq5adCC2ZEq0jEIxYIa+KLcAt2xL+wHL0TT/36R6AfB21HlBjMHr0l1 PQzeOPrTsa0m3whUWrji3e0lGixEeGaH9f4Ixz4ay/xy7AoGaYIKWraBdeXqBnogDYhN t+axS9xxOs5pYVS/LkBF1q+7G+KMojveVnBAaT4aM/GTaBwtIQwcFzakcTyF0hzAcCud prSpXhUDHC0MWmhCfg0A/ui7KaPReJdd8ikd+Np4+i1kIDZMygZj2prQrG3jFC/f5x4m ZLWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=feEpNlqpnoPxpeqMd/XrOoCASnhVqa5NxR5fyRNqcco=; b=aezHfxsHDCgznCj+7mD1G7YeXvew173h2V8Qq72byOcPAXeVfopD1ecFAhDRl8D+G2 xMCG933ylRtB7RwBcuyEKINbBRLYW7K4TQkm10nruCyTH3MgFriK39DpJc3uUZl0Ml73 QmjVrJlQvY50so+OjtivbaTjV95guA1C9lSqmwvyH7SgG6bTZLMXKZ/CTAvntBxecoVC kig28s69bAQeFyOtu8fCeTrkIvNjAnoE4w5P4o7TZVL8t+6N+vX9JvEpX4zm04We5GFU QyUUpvfPSaJSMd56IghNzCETbB0i9pcyLWNcEx7Yg1/F6a2NKJLxtR+ffyaHFjcqUroB 0LPA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="Tv8H/vdq"; spf=pass (google.com: domain of yuzhao@google.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=yuzhao@google.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id i136sor26942447iti.2.2019.01.09.19.09.16 for (Google Transport Security); Wed, 09 Jan 2019 19:09:16 -0800 (PST) Received-SPF: pass (google.com: domain of yuzhao@google.com designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="Tv8H/vdq"; spf=pass (google.com: domain of yuzhao@google.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=yuzhao@google.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=feEpNlqpnoPxpeqMd/XrOoCASnhVqa5NxR5fyRNqcco=; b=Tv8H/vdqTuaSxx6YM7Tw7ztGe3HG+L/n4C482Wi5x1By3kaM1qCnpEIfvnqdP5T2qY n4B+UCkE0CK2HWMreDyQ0g7BL22CUf86NgcZN6/gbQb9t8lRTN+MH9y/6Npy4Kr824lo pCW5ay6gwu1oDtDQXfHBe75mGSUwVptoAITTxjLTTONFPseTtVIssVGpvZO23MT8RnDV T7khCLNzXzqh0RYFavFyzXU5DwCA4S6NjyTTRQcGLHVeTKTNi8trYXP88L40ldCCwhkg v/zitaBmQXlVj/+QJcXpKc98EPpEMmyy5PJC4/7n0Ddd1zepbGxGZtxbaPMqKHTIvC3p i75A== X-Google-Smtp-Source: ALg8bN535z86xgPNeQ/xvWw3MWLM89G+i8xX+OMvHXHYdqDsqzJ41tdIRkaJNKC3AYPClZ5zQDSF+w== X-Received: by 2002:a24:cc05:: with SMTP id x5mr6032700itf.82.1547089756085; Wed, 09 Jan 2019 19:09:16 -0800 (PST) Received: from yuzhao.bld.corp.google.com ([2620:15c:183:0:a0c3:519e:9276:fc96]) by smtp.gmail.com with ESMTPSA id n124sm8977731itn.4.2019.01.09.19.09.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 Jan 2019 19:09:15 -0800 (PST) From: Yu Zhao To: Matthew Wilcox , Andrew Morton , Amir Goldstein , Dave Chinner , "Darrick J . Wong" Cc: Johannes Weiner , Souptick Joarder , Hugh Dickins , "Kirill A . Shutemov" , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yu Zhao Subject: [PATCH] mm/shmem: make find_get_pages_range() work for huge page Date: Wed, 9 Jan 2019 20:08:38 -0700 Message-Id: <20190110030838.84446-1-yuzhao@google.com> X-Mailer: git-send-email 2.20.1.97.g81188d93c3-goog MIME-Version: 1.0 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: X-Virus-Scanned: ClamAV using ClamSMTP find_get_pages_range() and find_get_pages_range_tag() already correctly increment reference count on head when seeing compound page, but they may still use page index from tail. Page index from tail is always zero, so these functions don't work on huge shmem. This hasn't been a problem because, AFAIK, nobody calls these functions on (huge) shmem. Fix them anyway just in case. Signed-off-by: Yu Zhao Reviewed-by: William Kucharski --- mm/filemap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/filemap.c b/mm/filemap.c index 81adec8ee02c..cf5fd773314a 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -1704,7 +1704,7 @@ unsigned find_get_pages_range(struct address_space *mapping, pgoff_t *start, pages[ret] = page; if (++ret == nr_pages) { - *start = page->index + 1; + *start = xas.xa_index + 1; goto out; } continue; @@ -1850,7 +1850,7 @@ unsigned find_get_pages_range_tag(struct address_space *mapping, pgoff_t *index, pages[ret] = page; if (++ret == nr_pages) { - *index = page->index + 1; + *index = xas.xa_index + 1; goto out; } continue;