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 82B03C433ED for ; Thu, 29 Apr 2021 17:55:27 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id C361E6144E for ; Thu, 29 Apr 2021 17:55:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C361E6144E 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 3A9876B0036; Thu, 29 Apr 2021 13:55:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 359E36B006E; Thu, 29 Apr 2021 13:55:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1F97C6B0070; Thu, 29 Apr 2021 13:55:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0102.hostedemail.com [216.40.44.102]) by kanga.kvack.org (Postfix) with ESMTP id 04F196B0036 for ; Thu, 29 Apr 2021 13:55:25 -0400 (EDT) Received: from smtpin03.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id B40864FEC for ; Thu, 29 Apr 2021 17:55:25 +0000 (UTC) X-FDA: 78086156610.03.3C8CB98 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) by imf14.hostedemail.com (Postfix) with ESMTP id C1996C0007C6 for ; Thu, 29 Apr 2021 17:55:08 +0000 (UTC) Received: by mail-ed1-f54.google.com with SMTP id j28so15601294edy.9 for ; Thu, 29 Apr 2021 10:55:25 -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=PHY0KopoGt2jmHwl+eKZ+gMG2i1OKFgtzB7nz2g7rXM=; b=P43Ohrzl+8R4swusRNtAj4tOcBohHPeMOuDQJJcu2LXIqHfAsaQzh0ZIHMsbbrqOJn QsA1cZ1OUw6iw3pY1xKvaKelStWOLTKY/hC6UgG9I0VIk4zp9PmPFaN7DoQ63eVdPTu0 veQbdWc2W+ufXQDy3/CzlEl+pshky3b1TAbafFm2ApD7wvNbQkCNQUh5o0y0DmS/ZCtW KEu0djbE6FPsfu7HRzV5+2gNQUQCbzSaMiwO2B7Jn568aK4l8zMe3cpP6BNUP44qsfNp L7NbqJ0YgOj58B20Jj1EP7qP2U1rkKlMEHDl+a4IwQVdE0LRUAN5QA1sSTcTM/x0EQhG e6yA== 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=PHY0KopoGt2jmHwl+eKZ+gMG2i1OKFgtzB7nz2g7rXM=; b=qrOCKXNnSBBEyrBZuf0K2qAHPcjRQ4nXqVEaiz6fGHW/9v036d9elrr+2joekxhUam F56/fIpijpTOizTQkoz1jLgkzaxQ26ba5PuriGUaWNSBbfgM5zdADrZZQu1kXq17lE8O fQ2WymG9aopFAU2IRR9sN59pvc7xuSt+rQze6NWaZzMLlI1Kd2rl0sfrwMdGwxKWx5pl MbKDQ2WQE6bdoF0jcDg1+x0aSg6P2oWu49ax1DQ+bWCsZRDfck1TlL9R5uu6xY84piEW kLKvcuzL+HrZRdMnU9j88e2QVdRH4tQ7vHFxj8hKtXGvu/2R53iQEDEtBFEyNhhuhcTn VgFg== X-Gm-Message-State: AOAM5324wr7O9bIRt2lJ0PwrsgTMjs+PD8qB6kxMt1hgbj/7VmI+Dy+t hSPxwlRThjhMRipInQFIOllNSfziaWL13v5pXjg= X-Google-Smtp-Source: ABdhPJzb6RRhFjjAr4kXAzFrvemYzwT/kPxG+lWrqfmjA0xnzpUWx8Vcas5k4b7bm7r2HNA1W8mxdmEjsAon22PGF6I= X-Received: by 2002:aa7:d658:: with SMTP id v24mr985550edr.290.1619718924045; Thu, 29 Apr 2021 10:55:24 -0700 (PDT) MIME-Version: 1.0 References: <20210429132648.305447-1-linmiaohe@huawei.com> <20210429132648.305447-5-linmiaohe@huawei.com> In-Reply-To: <20210429132648.305447-5-linmiaohe@huawei.com> From: Yang Shi Date: Thu, 29 Apr 2021 10:55:12 -0700 Message-ID: Subject: Re: [PATCH v2 4/5] mm/huge_memory.c: remove unnecessary tlb_remove_page_size() for huge zero pmd 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: rspam01 X-Rspamd-Queue-Id: C1996C0007C6 X-Stat-Signature: 4jimtseomu6q3fhidxz6s6soxjgupep7 Received-SPF: none (gmail.com>: No applicable sender policy available) receiver=imf14; identity=mailfrom; envelope-from=""; helo=mail-ed1-f54.google.com; client-ip=209.85.208.54 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1619718908-711152 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, Apr 29, 2021 at 6:27 AM Miaohe Lin wrote: > > Commit aa88b68c3b1d ("thp: keep huge zero page pinned until tlb flush") > introduced tlb_remove_page() for huge zero page to keep it pinned until > flush is complete and prevents the page from being split under us. But > huge zero page is kept pinned until all relevant mm_users reach zero since > the commit 6fcb52a56ff6 ("thp: reduce usage of huge zero page's atomic > counter"). So tlb_remove_page_size() for huge zero pmd is unnecessary now. By reading the git history, it seems the lifecycle of huge zero page is bound to process instead of page table due to the latter commit. The patch looks correct to me. Reviewed-by: Yang Shi > > Signed-off-by: Miaohe Lin > --- > mm/huge_memory.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index e24a96de2e37..af30338ac49c 100644 > --- a/mm/huge_memory.c > +++ b/mm/huge_memory.c > @@ -1680,12 +1680,9 @@ int zap_huge_pmd(struct mmu_gather *tlb, struct vm_area_struct *vma, > if (arch_needs_pgtable_deposit()) > zap_deposited_table(tlb->mm, pmd); > spin_unlock(ptl); > - if (is_huge_zero_pmd(orig_pmd)) > - tlb_remove_page_size(tlb, pmd_page(orig_pmd), HPAGE_PMD_SIZE); > } else if (is_huge_zero_pmd(orig_pmd)) { > zap_deposited_table(tlb->mm, pmd); > spin_unlock(ptl); > - tlb_remove_page_size(tlb, pmd_page(orig_pmd), HPAGE_PMD_SIZE); > } else { > struct page *page = NULL; > int flush_needed = 1; > -- > 2.23.0 > >