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 E1C18C433ED for ; Tue, 27 Apr 2021 21:03:19 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 6DD5E613F6 for ; Tue, 27 Apr 2021 21:03:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6DD5E613F6 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 EB9936B00BF; Tue, 27 Apr 2021 17:03:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E6A7E6B00C1; Tue, 27 Apr 2021 17:03:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D0B286B00C2; Tue, 27 Apr 2021 17:03:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id AE9FA6B00BF for ; Tue, 27 Apr 2021 17:03:18 -0400 (EDT) Received: from smtpin03.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 71571181AEF3E for ; Tue, 27 Apr 2021 21:03:18 +0000 (UTC) X-FDA: 78079372476.03.AA4FAB1 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) by imf15.hostedemail.com (Postfix) with ESMTP id 40F5EA00018F for ; Tue, 27 Apr 2021 21:03:14 +0000 (UTC) Received: by mail-ej1-f44.google.com with SMTP id t4so8148758ejo.0 for ; Tue, 27 Apr 2021 14:03:17 -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=IVCjFm7QV+VqFMh+TVJiLEQ0dbasaVs/3/fcUDprAlc=; b=Wggutq2xOVkODR7nsL4N1fYAFB5PApJOT8TpfgWcuPoYVGAp/LREhg+ynfMGRcz7id tSIlWmNaxBhuLorY6ZRJz+qrRbY5mCWnrUmk3dmn79YolSfHOZ7hyzqU1Dg9r1JVr9zu yNrw5eZ54MCLPoPtMxIZgHbefwNvfxqyTaECD/rqBCUm/Roeg7AmzviKns10Ey5xt32P sxYRT6GkVC/qiEn1ZSHGgTL2XGvYGK+l+nvIi6rdmroPlHGzO8AeLF2Myik2dICBGab2 OxOSzPx1JGsf38bOUki0yDv/hMMDNpV30+QkaR5/6AVX4spO+xpXH6ETL2OtnuLtGkH3 gx/w== 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=IVCjFm7QV+VqFMh+TVJiLEQ0dbasaVs/3/fcUDprAlc=; b=f30QHNDvZPpZig4yRdux0e+IqRl1V/eDC44fXzHU6sjIvmrrFSKbObTkzNnFlGy2ye JEF7YgR//7R+5miJHJpvXnTZgcvmPdknyc9PN2Edq82eUiw53cb5p3IggCIpWHFe5M6c vs+OOddti2IddNe4uU5ZsAcA1wCdrshlC8VytMlUPhhYs3rjvnVaH2WBnovwxipAzLsD P/AOpRkixmamAfw4OO6IAEV2eVO6srZpa4CdanP1qZv0fbW/52/n+h/edUN9vWRGCPcJ fAYuO7bKB0wR0rgExt2LaccZ0uMRbThC7v027W70NX4bU49RzAQfwq3kTGVTW6Cd6UlQ YlTg== X-Gm-Message-State: AOAM533JnXnFpSor11FsyyJJXIrAunK01ef31aOEd5AE/u8DNhG+Rguw LSki41A5xrvGf1M3bLPAVqO4dyIcEOjLWdWADA0= X-Google-Smtp-Source: ABdhPJx/00l72TILd6o0PsEVlLXRNJLrr6CnjbrSc7BkiSs2DiNtINQRuM84mhfwDOc0OQuy1zfxbp2YRN0+PyIbBRU= X-Received: by 2002:a17:906:4881:: with SMTP id v1mr24404083ejq.383.1619557396934; Tue, 27 Apr 2021 14:03:16 -0700 (PDT) MIME-Version: 1.0 References: <20210427133214.2270207-1-linmiaohe@huawei.com> <20210427133214.2270207-4-linmiaohe@huawei.com> In-Reply-To: <20210427133214.2270207-4-linmiaohe@huawei.com> From: Yang Shi Date: Tue, 27 Apr 2021 14:03:05 -0700 Message-ID: Subject: Re: [PATCH 3/5] mm/huge_memory.c: add missing read-only THP checking in transparent_hugepage_enabled() 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-Queue-Id: 40F5EA00018F X-Stat-Signature: szyj5xrs9d9xpuwqk5efmss89abpkmwx X-Rspamd-Server: rspam02 Received-SPF: none (gmail.com>: No applicable sender policy available) receiver=imf15; identity=mailfrom; envelope-from=""; helo=mail-ej1-f44.google.com; client-ip=209.85.218.44 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1619557394-845969 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: > > Since commit 99cb0dbd47a1 ("mm,thp: add read-only THP support for > (non-shmem) FS"), read-only THP file mapping is supported. But it > forgot to add checking for it in transparent_hugepage_enabled(). > > Fixes: 99cb0dbd47a1 ("mm,thp: add read-only THP support for (non-shmem) FS") > Signed-off-by: Miaohe Lin > --- > mm/huge_memory.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index 76ca1eb2a223..aa22a0ae9894 100644 > --- a/mm/huge_memory.c > +++ b/mm/huge_memory.c > @@ -74,6 +74,9 @@ bool transparent_hugepage_enabled(struct vm_area_struct *vma) > return __transparent_hugepage_enabled(vma); > if (vma_is_shmem(vma)) > return shmem_huge_enabled(vma); > + if (IS_ENABLED(CONFIG_READ_ONLY_THP_FOR_FS) && vma->vm_file && > + (vma->vm_flags & VM_DENYWRITE)) > + return true; I don't think this change is correct. This function is used to indicate if allocating THP is eligible for the VMAs or not showed by smap. And currently readonly FS THP is collapsed by khugepaged only. So, you need check if the vma is suitable for khugepaged. Take a look at what hugepage_vma_check() does. And, the new patch (https://lore.kernel.org/linux-mm/20210406000930.3455850-1-cfijalkovich@google.com/) relax the constraints for readonly FS THP, it might be already in -mm tree, so you need adopt the new condition as well. > > return false; > } > -- > 2.23.0 > >