Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp1633853pxy; Thu, 29 Apr 2021 10:58:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxrHArYl/ng2S5Dy76D3DaCRz516mbB5AArjfxPi1PHRyfQcOaRT7eQ8pvcply5Iu2M7SV+ X-Received: by 2002:a05:6402:1157:: with SMTP id g23mr967635edw.303.1619719082388; Thu, 29 Apr 2021 10:58:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619719082; cv=none; d=google.com; s=arc-20160816; b=v9r5jztO/1a09kIM+sYvZFpTMsD3wiwrcOORhSaQam8FQj4FayD3kt0vUMLFOutN3n 87KHuQfICuMywPIlU7LdDIPvo9Q9vJW6v1Jl3Z74vapVUqXelNwOPhGwd9obV8UkmQCx Rcmd0csNk6tYbI4rGOSxdSJx0Nj8PaGGo+LFv+6SQwnB96Fo4rmdAI7Iv7LVNj/HtCJN 7WzP+bjRI4aX+AiUYImbF5pOuy8O602Hb4DqEHECQPs1UwhHhU1lnMLpqkn43EDHxP4X eyx8SU7qY+B28OoD3ont4GjqiscL/iG7Kr6RruNOSKbxt+jFJiKx31qqsnhTp8cODHma nteQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=PHY0KopoGt2jmHwl+eKZ+gMG2i1OKFgtzB7nz2g7rXM=; b=He1ZHcmXWZq34VrUHUHTI54l8r8pLye/tvAmsU/VYPFDMAM16w7+Bv0qnk9oXCIsKY vXUB6eQkbO73vpEX6cyFi4tivFZESA9xtD0OvkXrxTDf29SQv5SC68cCTiARAbTgh5Se K+V3rB0zg/1jDBdyCaOPBOhib40Hial6SklyNxT1/kwUEfK6ndi7Krx9GNPfXTNRyVnH zKU/5WKuAhiG7+E5cqYvkNNAHMcICPjUX/5D5V2Js+7dNDgrlT1jKJUiLzkdnGnpbi9O ZqC5N2TxgmfqpMFn/DHli1IEjVBu20HrJUPLrIQFpnpA4WDK4DWRhy2+1dq6rqaNl2ua Em2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=P43Ohrzl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id zg23si715023ejb.163.2021.04.29.10.57.39; Thu, 29 Apr 2021 10:58:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=P43Ohrzl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237244AbhD2R4N (ORCPT + 99 others); Thu, 29 Apr 2021 13:56:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58118 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232572AbhD2R4M (ORCPT ); Thu, 29 Apr 2021 13:56:12 -0400 Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4DB45C06138B for ; Thu, 29 Apr 2021 10:55:25 -0700 (PDT) Received: by mail-ed1-x531.google.com with SMTP id d14so15796898edc.12 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=HsouKgi20Y4Mm/8OsGx6bWK5eD3R42zJGwfrpw0qLS15az6NOF2Su67o6ypJqwgdmY oAx3jK0b8urqmYtjZmi0P7LS3ho1eIkAG11H19wNvjXCtWL4Dx/Laqlwb3iil0j7QEZj GDeDRQh4A62HtOAA7YnN+lqpZAMXxgdG4ApylzrcfWTKmYIbTtEglKnZhrKgJnj7H+VP bk9qAMb6qX7nZQnZ/d9bkVHYN70bfdO/KD9SyuSfCMxiJFY5l8uTLYcthq1fuo4ZInLd rjmjGE0J9Pu1vm6wMdJtvil/ONf5xNpsxswsHtiUFQS+0klJC8K/V1kHuoCzpb/eXEI+ QZ/Q== X-Gm-Message-State: AOAM532/bMqcWEc3n9Fr9w2NjCyIR1Q4ZiZQOD/pW6EIR9i9vfV8hX1R MULSV5Qwf0QXkV3NFw8EW2MGDDIZ4sJWbdFftJA= 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" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > >