Received: by 2002:a05:7412:6592:b0:d7:7d3a:4fe2 with SMTP id m18csp1750918rdg; Sat, 12 Aug 2023 15:06:36 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGOXAyjpUl9XO6ZJfXZENPHHcJAsRnkmnj+30hhxrbd1szwU2lsIjN9x2b4AMczm4faGkyz X-Received: by 2002:a17:902:aa41:b0:1bb:7a73:6b59 with SMTP id c1-20020a170902aa4100b001bb7a736b59mr4027501plr.32.1691877996405; Sat, 12 Aug 2023 15:06:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691877996; cv=none; d=google.com; s=arc-20160816; b=UyJh5ioTwHssz0s80aMjQtAvN5n/b8uf1U4lAWTzJT+CuVGOZ+0sefCRIeY1kqrauB QCeeQaSaSPSG8uGuN/SC1ltZsjVmdlAdyr/C0UI6RgDU6P6eyjfDHEDgwc23MZUfdDjt Yo5OzQoLwMicjPZxjRj6XNJghjaOfvj/TbkZHE3d0DhVae2K1uQCGu+05WO3BZUuI8kF FuPInUDS07wmlUf/eaj/ZfCEPgk80bzdoswtiDdGAkR80qBpvfLzjF1nXlZlN6odo4w0 hNEY8StQx+ICmHvNw0HL8bnXCacRTKBZ8f3DEL6z24O9Wpjexr3YGhYL0T267U9MQqDv M4/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=fIkJNnjCHIva7eW5XOc9OnqV+TWjSZmrTdIxtleonMA=; fh=yJbtNgqBiVQJ6bpPSBG6ugIE6PViqpkfB3PQYY38ZLM=; b=hTEC1kLM4H7g97JDKIkYwkoW5F+Q5ouldOeSyVPOOTw0sjVKl2EKF4/PYVnfDHUv1v CYoU6RSJ2fTrvhtZ4Mui69CJwqZy2689/OHEgaeldzeE4e5NdrD0r2epwAS91zpXj8TJ mQ1Mxo5YiavSrkSFZo8KyF/NwxD8RpettitRTJ53DVmSBQLMTEePyqd/6zCY52BPgP4Y sbyimbNmRnSJfjHba6F/AgbonwFWG7+59AXn/wPJZnehz4bNTukB5d1FdEoexyC9Du/S nVJTOEbgfwwtpS9YeE2iWfptTVt/u62lQmsnWu7aU04jSGwF1/078Fb4i7JyWkOp4VOU U2UQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=x7hBhhjW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n189-20020a6327c6000000b0055bc97cc885si5379217pgn.614.2023.08.12.15.06.24; Sat, 12 Aug 2023 15:06:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=x7hBhhjW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230073AbjHLVZS (ORCPT + 99 others); Sat, 12 Aug 2023 17:25:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38202 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229563AbjHLVZQ (ORCPT ); Sat, 12 Aug 2023 17:25:16 -0400 Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B81AB10DB for ; Sat, 12 Aug 2023 14:25:19 -0700 (PDT) Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-5223910acf2so6362a12.0 for ; Sat, 12 Aug 2023 14:25:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1691875518; x=1692480318; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=fIkJNnjCHIva7eW5XOc9OnqV+TWjSZmrTdIxtleonMA=; b=x7hBhhjWv+n0Z/yNLPhzcEKJq1h9dVabSiSgku37NtjW+HihEkdYVY9FiUUUEY2h0A NW4AgjXzutQYWtKCDiuAZubZTY3focjSjNMTmCFiWQilkU5IW2EehZKnT/4vFCtGGa36 7gC4u6XgZ1SGrT4Qc+7u4/KF6n7e1qqf1IVcKb5DybKh7JPjEWhv3ibCmdNbhdX19dAQ aQZ6kVq2Pl+/Z207jnXLq752y40n5qe4RKfNaVFTRPl+TXThDgysxR5BtEK399eflB6V whk9caveEL2Gh+GwfViKf9ZTPDC8dGPd/tBYwWLolxY1/gMhAEhFbyjDOP7G0IQOQjxE rqoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691875518; x=1692480318; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fIkJNnjCHIva7eW5XOc9OnqV+TWjSZmrTdIxtleonMA=; b=c+xEXMJU2DhHTIQsffyGRZWgBy9/rtC0ijtlxG+wJp/VIdQGQRmYF3gVOn1PIM3PJt yOUimgmCjA6hWsx+x2DkPmZFcCvhbVtkRjwPsx7GCpeEGUOCBfzMnWy6QE2+DlXFbmQK MPJiwIEE4/upQtlA2v45XkBRdUxzkMFve+Az3WdN5JuuhgvZr1CDQXk9aBIqt+T3F6jJ avgo95TrI1e0K2Wq4Ihsli4wMdiNxlHU8nRTFKM2pOd5616dFxZPAFho7q82l4pO+lwq 2nb/J2+JSXs6XlcIZGvr88ocq96T68GWERhcEvtoGsWNu7Hin9/DBmgzLVefVRJlYqP5 TcBg== X-Gm-Message-State: AOJu0Yx1B8SUNWKy7WZ8/frneo/4EKLhJNq7e86h+R2yE6nURO3vl7SU IzOsifdcNAGZKDWrca2c2RHpqMwnVPQSaQsBBrOCsw== X-Received: by 2002:a50:c30e:0:b0:523:193b:5587 with SMTP id a14-20020a50c30e000000b00523193b5587mr189433edb.6.1691875518004; Sat, 12 Aug 2023 14:25:18 -0700 (PDT) MIME-Version: 1.0 References: <20230812210053.2325091-1-zokeefe@google.com> In-Reply-To: <20230812210053.2325091-1-zokeefe@google.com> From: "Zach O'Keefe" Date: Sat, 12 Aug 2023 14:24:40 -0700 Message-ID: Subject: Re: [PATCH] mm/thp: fix "mm: thp: kill __transhuge_page_enabled()" To: linux-mm@kvack.org, Yang Shi Cc: linux-kernel@vger.kernel.org, Saurabh Singh Sengar Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS, USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Aug 12, 2023 at 2:01=E2=80=AFPM Zach O'Keefe w= rote: > > The 6.0 commits: > > commit 9fec51689ff6 ("mm: thp: kill transparent_hugepage_active()") > commit 7da4e2cb8b1f ("mm: thp: kill __transhuge_page_enabled()") > > merged "can we have THPs in this VMA?" logic that was previously done > separately by fault-path, khugepaged, and smaps "THPeligible". > > During the process, the check on VM_NO_KHUGEPAGED from the khugepaged > path was accidentally added to fault and smaps paths. Certainly the > previous behavior for fault should be restored, and since smaps should > report the union of THP eligibility for fault and khugepaged, also opt > smaps out of this constraint. > > Fixes: 7da4e2cb8b1f ("mm: thp: kill __transhuge_page_enabled()") > Reported-by: Saurabh Singh Sengar > Signed-off-by: Zach O'Keefe > Cc: Yang Shi > --- > mm/huge_memory.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index eb3678360b97..e098c26d5e2e 100644 > --- a/mm/huge_memory.c > +++ b/mm/huge_memory.c > @@ -96,11 +96,11 @@ bool hugepage_vma_check(struct vm_area_struct *vma, u= nsigned long vm_flags, > return in_pf; > > /* > - * Special VMA and hugetlb VMA. > + * khugepaged check for special VMA and hugetlb VMA. > * Must be checked after dax since some dax mappings may have > * VM_MIXEDMAP set. > */ > - if (vm_flags & VM_NO_KHUGEPAGED) > + if (!in_pf && !smaps && (vm_flags & VM_NO_KHUGEPAGED)) > return false; > > /* > -- > 2.41.0.694.ge786442a9b-goog > I should note that this was discussed before[1], and VM_MIXEDMAP was called out then, but we didn't have any use cases. What was reported broken by Saurabh was an out-of-tree driver that relies on being able to fault in THPs over VM_HUGEPAGE|VM_MIXEDMAP VMAs. We mentioned back then we could always opt fault-path out of this check in the future, and it seems like we should. To that extent, should this be added to stable? Apologies, I should have added this context to the commit log. Best, Zach [1] https://lore.kernel.org/linux-mm/YqdPmitColnzlXJ0@google.com/