Received: by 2002:a25:d7c1:0:0:0:0:0 with SMTP id o184csp1739398ybg; Sat, 19 Oct 2019 01:27:43 -0700 (PDT) X-Google-Smtp-Source: APXvYqzG6usZEiPMWAGQHRhYMuo8yElNTIBu5tpXLdhvPkrTz34rCKW3UYcLOHwNucqg4sCLMPhe X-Received: by 2002:a17:906:1b0c:: with SMTP id o12mr12397744ejg.312.1571473663735; Sat, 19 Oct 2019 01:27:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571473663; cv=none; d=google.com; s=arc-20160816; b=feRhxgu/tw1ctbqvbG2y0oaevTjK0eXSqnoUq2QtdLY7uEGD8ZYQj/+AFLd2aOSB57 2Vpbfe/BbzQFUSK/+TZ16vxETFUUUimom3YiwOpGIHGz+bzLkzhaevdn19ED7upERCNZ VBV5jt69xgIajXSfMhTHcjc0McrTjOMi81v0CK4rx53WPYVxZIL8Bl9uew4H4ZcGloI0 gZmTPkfPwDf77NGy2AKgfD4WkSohhLkD6qBduk28PXGodpGVvZt+LLPaaYpYZLTT4FKN wR/I/FotxlackShI7Pgcj9KylsS7WIC5m7FV44roHlqOy5aIYiUpjNdASeAecYCcmQn+ UGjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=syfG/SB9c17JrhI1N+k3VpvBr6cBzB/Bcv38TbgnCxM=; b=NIMn5+RxoGfLRyiYGN0yzoufw5kSiHihq8CnzPufz0N4QIasU1uZ+nRuFWKO58KdK3 0cELSHq8J54n5qfSa2h6DYKBRntXLgQ5zDDE+4BsjZc33BL5aCizbS51AORqf8sJF/OT WhExLddLJc0W1d3nPIjtX7TbVVvVgCQOfbHkowAMVjmcrbXRAmemd4dMsiHfP3tLoM3g aXzxvQEsJiPcWjN+GNhngAQwE1mw++hLb8/3jSFDnPgBfysiE45vvPIBkuUgsKNBLQRi u1dScWCvJ7HqGi36wqCAUJejT5lldXRVzhLBGcVRHU4uSYxgK9mVH3yDdH0U9BBlPP2+ wihQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@shutemov-name.20150623.gappssmtp.com header.s=20150623 header.b=qaiuU0Go; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o14si4792692ejc.405.2019.10.19.01.27.20; Sat, 19 Oct 2019 01:27:43 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@shutemov-name.20150623.gappssmtp.com header.s=20150623 header.b=qaiuU0Go; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2405528AbfJRNcf (ORCPT + 99 others); Fri, 18 Oct 2019 09:32:35 -0400 Received: from mail-lf1-f65.google.com ([209.85.167.65]:43020 "EHLO mail-lf1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729783AbfJRNcf (ORCPT ); Fri, 18 Oct 2019 09:32:35 -0400 Received: by mail-lf1-f65.google.com with SMTP id u3so4717072lfl.10 for ; Fri, 18 Oct 2019 06:32:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=shutemov-name.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=syfG/SB9c17JrhI1N+k3VpvBr6cBzB/Bcv38TbgnCxM=; b=qaiuU0GoVjsz/FcEqLxFFZ8qZsTLE3jHdRFi++Ifuafz0dbtwSO+XYhUrSxl2sf4Vh 3nBdCnCbfb2bAfDAegfpRX3zsvhPjlZCAKt3qS/w9rrf6QVThLrKDZG3yLeCGfhVkG3E +CN7Gjmezq3qLL7oDOQwbe0tRoGLZzFVVk3CzWbrbVFWRkS435+D0a9f1iAlRqar60LU SKqys5I2rTnXWhAYMHS3JAUCn7Oeuij/i5Ga51hMeAEKGkpZOn2b4J4xNSHm4BE93Nie qvJR3macVG00ZvCX2a+l++KLa83rTMENA7yJbLjdDhpKEC/GcjBfsk0R+/OE+gAP0NMQ 2nfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=syfG/SB9c17JrhI1N+k3VpvBr6cBzB/Bcv38TbgnCxM=; b=AW0f6mdMp09mw04autWIHr6umfMeJx21VY+lX0izMfGzcrOV60tRp9GP2wrRjT0jlK FgeqmIxPcCD722dGfpXC3yELjM8ScBTu+HD3LCfBZqL56UJ5LY0bl4g+oR/6Kj0t+2fH 53TQWtdNo3w724TtPOIeNxDPRAL2nVwq64q6j2eDGgwHiEIJ59/9gvbESkkQJ2P2Si/H MFsOQLfCnKbMmnGULYVCr4NT5ceDad3DArv/FjvfPROYdZM6IE+KxeUL6n/f45rbqO9M PuTkz32byE0eQoaQP4aaVMLnAGgLPtmdKX/9/KVfs9VFF7QXmWlD7jeSpizPrcMKrcKg ajJQ== X-Gm-Message-State: APjAAAU9UxI8TVOarqxUVV+LhYDmNU56sPQWhqjnb7uVcChpRBIgh0tK vbb6ytgKw3kso1OJ6z+1/3Tk0g== X-Received: by 2002:ac2:4196:: with SMTP id z22mr6088549lfh.171.1571405553345; Fri, 18 Oct 2019 06:32:33 -0700 (PDT) Received: from box.localdomain ([86.57.175.117]) by smtp.gmail.com with ESMTPSA id 77sm2273995ljj.84.2019.10.18.06.32.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Oct 2019 06:32:32 -0700 (PDT) Received: by box.localdomain (Postfix, from userid 1000) id 13348100D76; Fri, 18 Oct 2019 16:32:31 +0300 (+03) Date: Fri, 18 Oct 2019 16:32:31 +0300 From: "Kirill A. Shutemov" To: Yang Shi Cc: Song Liu , Linux Kernel Mailing List , Linux MM , Andrew Morton , matthew.wilcox@oracle.com, kernel-team@fb.com, william.kucharski@oracle.com, "Kirill A. Shutemov" Subject: Re: [PATCH v2 4/5] mm/thp: allow drop THP from page cache Message-ID: <20191018133231.vifgnueulyo57vpy@box> References: <20191017164223.2762148-1-songliubraving@fb.com> <20191017164223.2762148-5-songliubraving@fb.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20180716 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Oct 17, 2019 at 02:46:38PM -0700, Yang Shi wrote: > On Thu, Oct 17, 2019 at 9:42 AM Song Liu wrote: > > > > From: "Kirill A. Shutemov" > > > > Once a THP is added to the page cache, it cannot be dropped via > > /proc/sys/vm/drop_caches. Fix this issue with proper handling in > > invalidate_mapping_pages(). > > > > Fixes: 99cb0dbd47a1 ("mm,thp: add read-only THP support for (non-shmem) FS") > > Signed-off-by: Kirill A. Shutemov > > Tested-by: Song Liu > > Signed-off-by: Song Liu > > --- > > mm/truncate.c | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > > diff --git a/mm/truncate.c b/mm/truncate.c > > index 8563339041f6..dd9ebc1da356 100644 > > --- a/mm/truncate.c > > +++ b/mm/truncate.c > > @@ -592,6 +592,16 @@ unsigned long invalidate_mapping_pages(struct address_space *mapping, > > unlock_page(page); > > continue; > > } > > + > > + /* Take a pin outside pagevec */ > > + get_page(page); > > + > > + /* > > + * Drop extra pins before trying to invalidate > > + * the huge page. > > + */ > > + pagevec_remove_exceptionals(&pvec); > > + pagevec_release(&pvec); > > Shall we skip the outer pagevec_remove_exceptions() if it has been done here? It will be NOP and skipping would complicate the code. -- Kirill A. Shutemov