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=-12.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,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 C4CA9C43461 for ; Tue, 27 Apr 2021 21:23:02 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 3BDE761139 for ; Tue, 27 Apr 2021 21:23:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3BDE761139 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 AFB776B0099; Tue, 27 Apr 2021 17:23:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AAA696B009A; Tue, 27 Apr 2021 17:23:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9996C6B009C; Tue, 27 Apr 2021 17:23:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0201.hostedemail.com [216.40.44.201]) by kanga.kvack.org (Postfix) with ESMTP id 815E16B0099 for ; Tue, 27 Apr 2021 17:23:01 -0400 (EDT) Received: from smtpin14.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 4088D180AD820 for ; Tue, 27 Apr 2021 21:23:01 +0000 (UTC) X-FDA: 78079422162.14.BC80057 Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) by imf01.hostedemail.com (Postfix) with ESMTP id 9DBDC5001530 for ; Tue, 27 Apr 2021 21:22:54 +0000 (UTC) Received: by mail-ej1-f46.google.com with SMTP id u17so91598074ejk.2 for ; Tue, 27 Apr 2021 14:23:00 -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=hnD8S3GSKseiEg2y//OaeV3NCBwwk6P677uvsqZialc=; b=C375EiuxQe+q6YfYFPhoQmMqYCj0G5EsXD4JzemmRV3XdpXM/vpTm6ZS6y5rHissSA iZp9GCyeIC1zV7co6V0yzuWx7vaFVSUE/CBcTT2Dd/lWkN5r3NHA9eF59bIYO51n2tBQ TEubXGgqSVg16ljLAZx2cnQnm8RdU3uRb60UVtuiwmSqgWbtiK43g/YtCbeAz8mbglvQ +QX+6u3cXPZbcXgTEcK30JP7KUxIsbQXh2QB85CGY5D4htFPacKXQ1V99XkZYG/TmqFu E/Gm4/Wek1jfQ06PsK7XfuxlbyqlmQTu1/QWK5YMnjwVjY+KpWKP7Kwm/0jLcYnvgh0y WCfw== 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=hnD8S3GSKseiEg2y//OaeV3NCBwwk6P677uvsqZialc=; b=J1FkaDgRpKSnpGol4GCpqaWvWA1vlUTZbmo1vYx/BGSFexAbubDxFw0nvQq+2bJaHp nlr0zX8YOMlrHPYHjIPsOsm6oQyhXakWvPSbi7TILGTt8BVv/FonZu8QoV0e22bZtl1C sf538V8tJXXG3jtcQXLCHGM8u8QsCC637IayLmllYoG9M8AlPcMT7cMO5qdJBcHZuEhh Re7axp1HBRG3H7g2PYNm3r3LquYRamAimfDu+TlZSY5J8x1GwTiTSW8htfDYiQekb1kP FHqSJle9+pIlydQEWuxZMjCCngfy41S078Jh2wJW29PHr73x1iavihF7nITzGP2cPae/ yL3w== X-Gm-Message-State: AOAM531CmuJQCDFfocJQ2kmMXuaMPGBGhM7qWg0CS+qTikTH2gaZdF18 MKRSKj5Lp707P6Bh5l3qchlCQgvaHeeGuBD6Ufo= X-Google-Smtp-Source: ABdhPJxOqPpxFTf/VZYgX9bWGZGoHkiXHtK+vERnLmAHPlIgknmxoJe0lLWFF9bCfQQePgWAiNcWT1T0l8W2vx4FdHw= X-Received: by 2002:a17:906:ece4:: with SMTP id qt4mr25719376ejb.514.1619558579904; Tue, 27 Apr 2021 14:22:59 -0700 (PDT) MIME-Version: 1.0 References: <20210427133214.2270207-1-linmiaohe@huawei.com> <20210427133214.2270207-6-linmiaohe@huawei.com> In-Reply-To: <20210427133214.2270207-6-linmiaohe@huawei.com> From: Yang Shi Date: Tue, 27 Apr 2021 14:22:48 -0700 Message-ID: Subject: Re: [PATCH 5/5] mm/huge_memory.c: don't discard hugepage if other processes are mapping it To: Miaohe Lin Cc: Andrew Morton , Zi Yan , william.kucharski@oracle.com, Matthew Wilcox , Yang Shi , aneesh.kumar@linux.ibm.com, Ralph Campbell , Song Liu , "Kirill A. Shutemov" , Rik van Riel , Johannes Weiner , Minchan Kim , Linux Kernel Mailing List , Linux MM Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 9DBDC5001530 X-Stat-Signature: dy5afrof66tg8n9wyaxdisys7jsiphhk Received-SPF: none (gmail.com>: No applicable sender policy available) receiver=imf01; identity=mailfrom; envelope-from=""; helo=mail-ej1-f46.google.com; client-ip=209.85.218.46 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1619558574-876320 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 Tue, Apr 27, 2021 at 6:32 AM Miaohe Lin wrote: > > If other processes are mapping any other subpages of the hugepage, i.e. in > pte-mapped thp case, page_mapcount() will return 1 incorrectly. Then we > would discard the page while other processes are still mapping it. Fix it > by using total_mapcount() which can tell whether other processes are still > mapping it. Seems correct to me. It is possible that the THP is PTE-mapped by the other processes. Reviewed-by: Yang Shi > > Fixes: b8d3c4c3009d ("mm/huge_memory.c: don't split THP page when MADV_FREE syscall is called") > Signed-off-by: Miaohe Lin > --- > mm/huge_memory.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index f652be6ecca3..d14fecb8cd00 100644 > --- a/mm/huge_memory.c > +++ b/mm/huge_memory.c > @@ -1604,7 +1604,7 @@ bool madvise_free_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma, > * If other processes are mapping this page, we couldn't discard > * the page unless they all do MADV_FREE so let's skip the page. > */ > - if (page_mapcount(page) != 1) > + if (total_mapcount(page) != 1) > goto out; > > if (!trylock_page(page)) > -- > 2.23.0 > >