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 1F1F5C3ABDA for ; Wed, 14 May 2025 20:16:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B544F6B0082; Wed, 14 May 2025 16:16:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B03F36B0083; Wed, 14 May 2025 16:16:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9CAC26B0085; Wed, 14 May 2025 16:16:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 7E43A6B0082 for ; Wed, 14 May 2025 16:16:22 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id D0E6514056E for ; Wed, 14 May 2025 20:16:23 +0000 (UTC) X-FDA: 83442620646.28.F0BE7AE Received: from mail-yw1-f169.google.com (mail-yw1-f169.google.com [209.85.128.169]) by imf03.hostedemail.com (Postfix) with ESMTP id E1E9D20005 for ; Wed, 14 May 2025 20:16:21 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=XSP39Lok; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf03.hostedemail.com: domain of jthoughton@google.com designates 209.85.128.169 as permitted sender) smtp.mailfrom=jthoughton@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747253782; a=rsa-sha256; cv=none; b=aQfgL07bWj2MU3aTZxzF01DNQ7ipZY2WN/a2cmIYigf6sD9UbtvIbvPWgnAoQJv/LB6uTy luHUOmUpf7JxVkbICcudZPpwUEdU/tjo6Q/lAL2MDW0J0WR9Rm1NV+y7TvHosgX9Qi3aV8 de3Xlal5Dg8X23356s0peQkDMdDmubs= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=XSP39Lok; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf03.hostedemail.com: domain of jthoughton@google.com designates 209.85.128.169 as permitted sender) smtp.mailfrom=jthoughton@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747253782; 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=kqwHn7EjMetcDb+eDU0oZyemP6qxYll864oUPk/SvLI=; b=AHSMgmX0LbUZGcou5HCOLw/ecJl3Fj32BAZWFBqImb5n632E7qw/fsqhs54UzkHwbByN/e YvyxTb8vJc5ZfMirteiK6HJbPsmgjf/L0NHIj0GzCiZUWDpT3aaAlikTCkDbgm9UEP4iDc tDjSJwVU3oQ98GWucyUqGqvilZMALl4= Received: by mail-yw1-f169.google.com with SMTP id 00721157ae682-7053f85f059so1856187b3.2 for ; Wed, 14 May 2025 13:16:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1747253781; x=1747858581; darn=kvack.org; 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=kqwHn7EjMetcDb+eDU0oZyemP6qxYll864oUPk/SvLI=; b=XSP39LokL8F0cSQg1bkjvR941B+75qOjUn4d1tMslLkdOAHSK7bWbi3mSxMeOoY1XR xE/CrtNL/v0tVug3TjPcu6OxKWKsyeU8kycW0ouXUImEJAhWraRUSYTGhOYnbFnvSjBu jrImXpKY7fWTnkr+17lE9daAg4skKunI6Vs+IpXk60LiP1Ma8p15BSWotOx/Dr6McpwM b8ECLOAhBY+xLNFjHdwq8+x9qhUUpYxU0owJ0iumTxDqjuJCacgrqFZzfdrbKXswkyqU 2HasmF8i0m+oKyy7iISv2NQ144wig80fB6byJU4jcXFi/uyodxbyaVjbrsVayCSLBK/Z ETLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747253781; x=1747858581; 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=kqwHn7EjMetcDb+eDU0oZyemP6qxYll864oUPk/SvLI=; b=VGsoMNFjw0UyalJUAwc4Ge09WXjVwANVdcOPrLkV/tcB6+O6ESpcV+wtrymtUrYcCn VYD7KGQ0SOAHnquPjS2hoR70rET4x3pIp9pOSq3kMCR+7aRDrla+lIyec7YP8cceNhoc EJgg6SDvT80rZ65XO8QxgoJP7j8xINFNVIWXS5ir0Qi8bK6pzXrs7R3cYUTrUnSMP/uD zptD4lh+H0a7zNdfhiaCdhPAlBk7oVXObajEbrrvakXaKLppBlJUPphP5JTE2yiw8P4O Mswh0ytXjzEgaxiEMuZKniUFUpJ0PRAuCwykCYTGR2hpzn7+El4q3Qe71QSyWKs1SRv3 4ipw== X-Forwarded-Encrypted: i=1; AJvYcCVNky32EqJWn1tsqk78kUmQjMpa3mOxNX2ZCUTCRbQoa7nPs7PUt4UUBSrR5iL0Wq2ldl9vQeNjMQ==@kvack.org X-Gm-Message-State: AOJu0Yzpd4ULDS6bjfzpeuCJZha7wBbV7XRXjf/oyywegzjTp0by3k+t mu9yHbGFmwtV9E0/MDzIWSx9CW2wmli53fWvgVBQLMq8pQ93PF5RL0lugMX1+S6aQ237DOrCPQY nf+ifMkjXwXoL9tXWb4uwQOzFeRdbEXPQMalK X-Gm-Gg: ASbGnct2P4ek7EwscruqNqNtiDRn8TM0BsLyu788gMMwmDJK8a2yC3nyiwSloYCcUeM Pf7U2GZzQjQJv1JGgR4N9J3Nuz0TglIlFEkJyXSkqywN2GCSZnjbMXZ+Ev6rILGNQSkcrueSwb5 R1tRLsBVPBXheAsDmqXltWCwdSnnuw5uejaWcucsZopS5FCR8fWDQ3av5Wr6oStQE= X-Google-Smtp-Source: AGHT+IG7DIaVxTG36PqlyFQAkgROVY+bfnpeJee9rmBxD4tE9All83rWtotcjOA5Gwcec/nLx7JQQmQEmb0FPuz2plk= X-Received: by 2002:a05:690c:7085:b0:707:cdd2:542f with SMTP id 00721157ae682-70c7f17c20fmr64537787b3.21.1747253780516; Wed, 14 May 2025 13:16:20 -0700 (PDT) MIME-Version: 1.0 References: <20250508-madvise-nohugepage-noop-without-thp-v1-1-e7ceffb197f3@kuka.com> In-Reply-To: <20250508-madvise-nohugepage-noop-without-thp-v1-1-e7ceffb197f3@kuka.com> From: James Houghton Date: Wed, 14 May 2025 13:15:44 -0700 X-Gm-Features: AX0GCFstKD4fwXtprpdHm-GCBvx9tSGFrIpb9YkzFyHV3btP9kt-l8lvwGGYI2w Message-ID: Subject: Re: [PATCH] mm: madvise: make MADV_NOHUGEPAGE a no-op if !THP To: Ignacio.MorenoGonzalez@kuka.com Cc: Andrew Morton , Lorenzo Stoakes , "Liam R. Howlett" , yang@os.amperecomputing.com, willy@infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: E1E9D20005 X-Rspam-User: X-Stat-Signature: 94x93nkfxgnfm3nggadijonxsqbq7cpt X-HE-Tag: 1747253781-904710 X-HE-Meta: U2FsdGVkX1/3ewOGMJelGRVt6yhETqpHI6vW5sT6XCPHdXamFstkfbQT5vEXmP9QdWt5uJXKtf1CQJCPZ7Wc9jmn8Y3r3IutRxvoiAzPEzQxvW53cC0o4my+svNA/FynSC6L28vVx29dwoblYtyYzYZ9a5giiol+jNuAQW3ZmNh3xAEsRboBqGJaO0gGxPbA90ss7oADc0NhjSL2S3iVqit9/11TKzAun5eA4095RDZVdBVJrF/teu3PfXUiBF87zNMj7mAnhN3KkprjF3A/aowMYTsBbyHNrYn89BiESOdDhySon9ae/+RWnW//NP0L+bsCZp2lhMGhXqGh4ITaCevvHHvghH1EWnWSs3t/OKPf2lU/D+h+3v7KMTiOXtW5R3mJHnRJoNS/JJqqCh7lbFcumbOzBxwSC/SYVWdCtvVJsyBo8psfEpg9Ggi/ARhhXbh4NgKug+xuq8OiNc3+IIKQiJUSqagNoMAM3Il0AdVIuZGu8Z5cKrvuGAIrUJ9ZMM1YIxwD5udz3dlUeQRvICOcQDqAZMd33BvUwO9DJKJ0T8CJGcAhuAqQs+3WhAeSEgxktsA0EIU87RKGe9bdDN35psABh8vj++4XmA10WH+zUCOuYDt1FD5EZ2lDtbFewyaSnexhkzEhSl7x2PsnmFAanFpDE9LjN3DnrFV8ucD2/6m6ug1pOAGvuH9YiLJ15mgnA2Nw1xF8riurpp+xBncG137iM+Ej0lVZQYbM6bT+w0nhuvwBaFkMh8OV1JZwRRs/q+PqXXQgcsADd53/e1FqZ7P9MWRTkewFMoK8FgqtC1KMBS/8ICviSt8eYl9IXkrULUJOouBrs1pPukcKOgYHyldVuiQs6USmkhr2cTK8ru+t20ZR5XUPnZcNWAOqQ3B7nTPOTy8RVL+/TyCS9LbTevigoEnUBW7cfwsgGN+8dqpY4dng1CXi5KCj/rAxMyBcHRcQ2jxYSWcn9Bc QY79W8eb rpfI95nlI6oegOLcYZ38x5x/jjgBceZmgk5p/d89yjtB7cijRsWRi5ppBS5lndCZmzyyw18J/vxMRfUY4Z2+IXGUejdrQhLmDJS15/OdokeOYscygrFDK4BsSS0FMZRvbXSV8S8TyzH2TyrqRFi36SxBi3b1LrCrBuxHK4/7VEMIAw5s5NPHfiVvV9To4TX8oaA24lrf8NMWjlag7kScx3rqbljB+a2wtjjsp436q4tFsz7wN5N5LhmY7nMyDD2tF24JvOAWQzRVXIyA92SdsnG1R1CtwdOMtZ326DStD7n1UswPrIZByqfY0JpF7wq4HCW6FwBtudQjjl2YuLYldBcLF+3s5u705YuVNNv2aDivNdmwDwaizaApgiQpqX7LiL5cbp77babdt/zz4ruQQTYL4x6GNnS1mv+W/VOFzdTQxez0= 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: List-Subscribe: List-Unsubscribe: On Thu, May 8, 2025 at 3:20=E2=80=AFAM Ignacio Moreno Gonzalez via B4 Relay wrote: > > From: Ignacio Moreno Gonzalez > > VM_NOHUGEPAGE is a no-op if CONFIG_TRANSPARENT_HUGEPAGE is disabled. So > it makes no sense to return an error when calling madvise() with > MADV_NOHUGEPAGE in that case. > > Suggested-by: Matthew Wilcox > Signed-off-by: Ignacio Moreno Gonzalez > --- > https://lore.kernel.org/linux-mm/20250502-map-map_stack-to-vm_nohugepage-= only-if-thp-is-enabled-v1-1-113cc634cd51@kuka.com > > Here it is presented as a separate thread to avoid mixing stable and > non-stable patches. > > This change makes calling madvise(addr, size, MADV_NOHUGEPAGE) on !THP > kernels to return 0 instead of -EINVAL. > --- > include/linux/huge_mm.h | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h > index e893d546a49f464f7586db639fe216231f03651a..5fca742dc5ba784ffccea055b= 07247707d16cc67 100644 > --- a/include/linux/huge_mm.h > +++ b/include/linux/huge_mm.h > @@ -509,6 +509,8 @@ bool unmap_huge_pmd_locked(struct vm_area_struct *vma= , unsigned long addr, > > #else /* CONFIG_TRANSPARENT_HUGEPAGE */ > > +#include > + > static inline bool folio_test_pmd_mappable(struct folio *folio) > { > return false; > @@ -598,6 +600,9 @@ static inline bool unmap_huge_pmd_locked(struct vm_ar= ea_struct *vma, > static inline int hugepage_madvise(struct vm_area_struct *vma, > unsigned long *vm_flags, int advice) > { > + /* On a !THP kernel, MADV_NOHUGEPAGE is a no-op, but MADV_NOHUGEP= AGE is not supported */ Do you mean "but MADV_HUGEPAGE is not supported"? Just want to make sure; it seems like no one else has asked about this yet. > + if (advice =3D=3D MADV_NOHUGEPAGE) > + return 0; > return -EINVAL; > }