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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 83B8BC001DB for ; Sat, 12 Aug 2023 21:25:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A01D36B0075; Sat, 12 Aug 2023 17:25:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9B3446B0078; Sat, 12 Aug 2023 17:25:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 87B3F6B007B; Sat, 12 Aug 2023 17:25:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 7A1776B0075 for ; Sat, 12 Aug 2023 17:25:22 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 3C79C140641 for ; Sat, 12 Aug 2023 21:25:22 +0000 (UTC) X-FDA: 81116733684.24.563A177 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) by imf23.hostedemail.com (Postfix) with ESMTP id 5818914000B for ; Sat, 12 Aug 2023 21:25:20 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=x7hBhhjW; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf23.hostedemail.com: domain of zokeefe@google.com designates 209.85.208.54 as permitted sender) smtp.mailfrom=zokeefe@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691875520; a=rsa-sha256; cv=none; b=ak6INJvH11b+mXnGuSyVVRiYyaoQEjAaBJlrv7svzuLzeW0Owzvjrek8eBT324i5xRinyY TsZL20TQ4wphENhKES2P4c8lyAn7GCg3uBv21Hlf74do/fPoQwfTZ66uv3u6NnTsLNetTz eswdTOnl2q3rKt6kzFGKbJ9VCeuHT1E= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=x7hBhhjW; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf23.hostedemail.com: domain of zokeefe@google.com designates 209.85.208.54 as permitted sender) smtp.mailfrom=zokeefe@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1691875520; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=fIkJNnjCHIva7eW5XOc9OnqV+TWjSZmrTdIxtleonMA=; b=KoIdj/Zjb4KAz0gwal36s5m+V9BiSr1VeLZpuEy8IY3BzZh0dbEUevz3fMCqjmMZO38bIt UqU656EYMKUfcHw9cibfcbEQCk0nZQa8aQg6pJC6gPE+Ejsbj6W9ZauP0xzL7vt1GpFkca EXYGVga9FOip+TpqfBU7dpn9zYnvuSY= Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-5223910acf2so6363a12.0 for ; Sat, 12 Aug 2023 14:25:20 -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=JQfuT2B1IYp6NTKE8vj0pHkTBliWhbrBQqYrJdHPOE3FgnAREzt2Hm+R6Wr53gSXRm v77FlLCWKA0aTO5Vx3pp1Jnyml0RKUCH2yXetjxSkGj7rVKjgQjh8AWtSgLhbpo/zW76 JRFmbdS2FWpKNRPtAnVaKzvz0XmvTXXZ2VraTlQ1cM88PheGfyMY5uKioAxeyOVJ/Tra btZmfONaVf4QKTIzRZ6kZAR3XLt18rvr3DmCds0e/w8NCdHocOiZkBMGbdPitsDZ+qOT 0mtb9xodFwJurLDp7Eh0IlPGc6X8vn1lalN2LfXmKbv4GmfF2BOCTvRtQ7V31O0OBYu/ /XIQ== X-Gm-Message-State: AOJu0YxiJp7nvhPvqmjysNAKz/U0yOJoE6YSPk6+DkqjJ3GNLTVOn1US sny390X5ZTOgvoewPS8cpcq+ZSsD6r31v+LwIOQzZV9RMtncoAL1ZmP/eA== X-Google-Smtp-Source: AGHT+IEd1EXlNBvPhlOK9iSVv2k4j73Gs334nV9HL4a5TDQlB4Io2Wgu/3WDoXotJl53dcFPG4s0rtncTsTZzsm3sYs= 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-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 5818914000B X-Stat-Signature: 5tahor4xnpc113x6kcpoou8tzezcf6mw X-HE-Tag: 1691875520-279835 X-HE-Meta: U2FsdGVkX1+p8diubIOoN2sHcYK+pBDSQEtmzYNtjjMBWjfTbTjk5/3xTJj5T4Cq0h3VF9p2T1ne/lNYpvUy9N4KmjG3OTXIknAK6YEvvDBv05fGXgPUIpA9tIyaMKk0z/9fRcM8WmMfN2XUW1xtDcoatgQPCPmp0u3pbNmlFQGKbOrBm6LOb3Yc9jCei+UikUe5HPvxgid2FsVSj24HyOhMqgd/mYqlrfOBFBHEhMNHGZU6Rp2/pVW4q+433C2EwxGDbjjB4dp/9Bz6pjtxGE3z2ig2kVwadcFMvPG4knW+WdYiAT7cS0j+8Y2YBYWOXDigbTs+v+DW8UaaXorLU2hls5kkULMBWDg/AUGho+7mcN31CgDnRyjE1TcysXZbrBtrYfQzZCNHCwyAiwH8m4/ZXRGW7+J30rK+BaNpM6v+l9AsCqiL1kRUuPbNzykP7k64TNzX56veCxMQPkXv8NsJaFUqh3D7+SWfjn9JXgnmlND3u080yMkUfEl0WNhUPQGAYnBvNvy0vtX58/XtOj69YWnARk7O6HGjB/LWdup8y/S94i1jSRcX5f4goUAyBHnsCe55rWSnrVWbY6ykYBa8rAnnJNcM1OifvMqu0Uz8aP6s98hwZWKRgf/j5GLkT1OwiJF2t1HCdWrM/ev9qOwP1GnP7Vs43g7Gtm3kbdLr+oiRorK2U+ksuEmShWWBa0jynUR4KMEcXxi1rzjawxsmwvgNzSwbPiTi99eaZVrxhjzfUEA+YjTw8F1hLx/UpD1BI4ruJBTQAsKog91MKho0ibowHc3j2NzlSJC92TotG+iP3iPbHiICk8mzKz868tuqMN9DF8TVP/fgjnlGEDSLdTtheFQbcW4KtcbMiR/hcFp1XMc+7eihF68U7Ig6HbQJWXy64kdTJUC2sqU0Aat6DtsRz8eMKppnzIy2wmC13/6LPRA9lskKlbtybvPZ+aMu0X/UCGD+FPBnxvB kDPgtqzZ bJYkf3+wWtsTeHpWQuDJZu4056OW1awobUmeH+3xlmTZTADm1lBO1j3ZHuperjGh2XkP8oSR++rkMM19DA3u1n/2znxSogSoSOmwxVRQ2/SCyBcH/yKYULCGUjVzOoNbi1uVQrH38KvQs5NBTHgVeZkiL+vDuD8sFkAXQR8sfUekNAybHuioyW0E29kY5PIdZg9zFWzWcO7hNWxWVCYsJo2+9b3te92eMW8M3Ad9K87ibM/XAhIJQtS2MMNVAxgAY6fcfRhzog3SPKK8vOR/Ouux1dHK2SC5fNSnL9TDh0n7luDuu8ezMH0+PP92QNMTv8ufCtAZPy7DgMaNEvVcNccWd2GpW0FPUjn93j2anFN+6lIZY6/OUNQpMi0Og8MXWgBDLk54GM2bK9Aatwyp+BxEQBA== 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 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/