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.7 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham 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 43DD5ECE58E for ; Thu, 17 Oct 2019 17:43:52 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 0B09320820 for ; Thu, 17 Oct 2019 17:43:52 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="CY7kEgnq" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0B09320820 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id A61878E001A; Thu, 17 Oct 2019 13:43:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A12D88E0003; Thu, 17 Oct 2019 13:43:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 901148E001A; Thu, 17 Oct 2019 13:43:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0132.hostedemail.com [216.40.44.132]) by kanga.kvack.org (Postfix) with ESMTP id 703448E0003 for ; Thu, 17 Oct 2019 13:43:51 -0400 (EDT) Received: from smtpin05.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with SMTP id 230ED8208A23 for ; Thu, 17 Oct 2019 17:43:51 +0000 (UTC) X-FDA: 76053999462.05.join79_2198bbeddce32 X-HE-Tag: join79_2198bbeddce32 X-Filterd-Recvd-Size: 4338 Received: from mail-qk1-f193.google.com (mail-qk1-f193.google.com [209.85.222.193]) by imf40.hostedemail.com (Postfix) with ESMTP for ; Thu, 17 Oct 2019 17:43:50 +0000 (UTC) Received: by mail-qk1-f193.google.com with SMTP id z67so2640025qkb.12 for ; Thu, 17 Oct 2019 10:43:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=3x7NlEAC5EYOu09JqrgZJ296V2WMd3xAO3Y+EYxmHLs=; b=CY7kEgnqE1dSycu7e2cMUC4XFvL45b5+a0TCSRgf6WAQlH5mVU8Yb69lb8YQHZItg2 bR32RuCpS4ZgGWUsQRTas585CHRgXWZrGHGI8MAMyhU8GWc9ItL9YCti0COms8+teyU/ uJkea1oo1X3L5z9d4wKuiV3lUPV3cSebKudwLnZuPBPoeEJ/AkLcag79WYSfB36kE6WO tKIMv+ZkNpRHAqpJAVwTWUqiQH3pCzUNhL+yjlAG7z+18zSeVQK1nXdLQKteaNetHuYp ihZxvCaRws7ORZ2K2VBk4778SUOVg1P8h9RMUM9LHBIayJQUcTV6zgTbJbF+pGB/qRRn P1kA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=3x7NlEAC5EYOu09JqrgZJ296V2WMd3xAO3Y+EYxmHLs=; b=YrCidwGSSQjiIxvr3y1GkW1dTX1v+qNlPZ17rNzUJIaIh/PU0t+5V0UN+O5o+61nKj v6/8WDXdHGcUnQjQp0w3xp3JGx4bpalEAEQtVkZIIrp26FX0dKb5QS0qSJ0oQ+fphlpE POsFn3GwJziTLHDHenRRkOBkIi9lOx9iyO3jlI198W56VJM9D9vna6tFngIvJF09Fv6r P1mWZekAUqfpmVS7BoKVIBpdNCoxFBbJ+gAJx5wSK8ixhU1P8fqou2m8b9sRlZHrawA2 I+AuBSkwAqe853/sloDPlf/QFSaeKKV5JyYBBu8VRqmKQn2be4wvOa12Ww6lpA8QkCPt HJbQ== X-Gm-Message-State: APjAAAXTiz2yJ75Q4vCBVSM6HnhWQfb7V1SQR8j2R39AwRKCkgXtBCrM ktYFBac7nKu7jzyvIaGduu8Ye4jymIALb3NMiOo= X-Google-Smtp-Source: APXvYqwL8OY2KnqIbLso1VQDKZykK7fwLyzry2OS+LgT9ONf3XCgMt8I/2qFQ4XBJWwEAVXE8oAxEEYBcCUFpOXXc+I= X-Received: by 2002:a37:4ac8:: with SMTP id x191mr4659628qka.85.1571334230217; Thu, 17 Oct 2019 10:43:50 -0700 (PDT) MIME-Version: 1.0 References: <20191017164223.2762148-1-songliubraving@fb.com> <20191017164223.2762148-4-songliubraving@fb.com> In-Reply-To: <20191017164223.2762148-4-songliubraving@fb.com> From: Yang Shi Date: Thu, 17 Oct 2019 10:43:39 -0700 Message-ID: Subject: Re: [PATCH v2 3/5] mm: Support removing arbitrary sized pages from mapping To: Song Liu Cc: Linux Kernel Mailing List , Linux MM , Andrew Morton , matthew.wilcox@oracle.com, kernel-team@fb.com, william.kucharski@oracle.com, "Kirill A. Shutemov" , Matthew Wilcox Content-Type: text/plain; charset="UTF-8" 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: On Thu, Oct 17, 2019 at 9:42 AM Song Liu wrote: > > From: William Kucharski > > __remove_mapping() assumes that pages can only be either base pages > or HPAGE_PMD_SIZE. Ask the page what size it is. > > Fixes: 99cb0dbd47a1 ("mm,thp: add read-only THP support for (non-shmem) FS") > Signed-off-by: William Kucharski > Signed-off-by: Matthew Wilcox (Oracle) > Signed-off-by: Song Liu Acked-by: Yang Shi > --- > mm/vmscan.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index c6659bb758a4..f870da1f4bb7 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -932,10 +932,7 @@ static int __remove_mapping(struct address_space *mapping, struct page *page, > * Note that if SetPageDirty is always performed via set_page_dirty, > * and thus under the i_pages lock, then this ordering is not required. > */ > - if (unlikely(PageTransHuge(page)) && PageSwapCache(page)) > - refcount = 1 + HPAGE_PMD_NR; > - else > - refcount = 2; > + refcount = 1 + compound_nr(page); > if (!page_ref_freeze(page, refcount)) > goto cannot_free; > /* note: atomic_cmpxchg in page_ref_freeze provides the smp_rmb */ > -- > 2.17.1 > >