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 82F0AC3ABC0 for ; Thu, 8 May 2025 10:20:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BC0996B000A; Thu, 8 May 2025 06:20:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B495F6B0082; Thu, 8 May 2025 06:20:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9C5516B0085; Thu, 8 May 2025 06:20:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 7AC276B000A for ; Thu, 8 May 2025 06:20:30 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 0CF671CFFCF for ; Thu, 8 May 2025 10:20:32 +0000 (UTC) X-FDA: 83419346304.03.04A3B69 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf07.hostedemail.com (Postfix) with ESMTP id E3FDF40004 for ; Thu, 8 May 2025 10:20:29 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ZmZtDPx0; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf07.hostedemail.com: domain of devnull+Ignacio.MorenoGonzalez.kuka.com@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=devnull+Ignacio.MorenoGonzalez.kuka.com@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746699630; a=rsa-sha256; cv=none; b=o/4q0AT3bk5v5Z67cAPx69NyIi+UABTVPL/IsMt6yT+7C1uSXIFjQrxVSekG0LzgZWFI/i pGNO43rLTy/3iEYBXN6WpOptRw7A4uocedzVdas0HF9946EC87KW3kDpNefxKKFOUZyR68 AOrdMjEFs4A6euBDtVKMtSxfeJK53Xw= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ZmZtDPx0; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf07.hostedemail.com: domain of devnull+Ignacio.MorenoGonzalez.kuka.com@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=devnull+Ignacio.MorenoGonzalez.kuka.com@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746699630; h=from:from:sender:reply-to: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: references:dkim-signature; bh=aVhWp4FebyBQDLhZeLvrf/DUqhiHQsgXAJmuV2hJhQk=; b=oXpYyyrxQ2HAAVT1pgsIvfQojMVB7dCKifhQCqqlywBb/KeLmDlx4OMYPI27m+uw6fxbMY HS91mDbGEVE5Qu8ReDYkV4Sc3Mn6pwAvPTq/0zA42aIG/bt/T+N5ywYvgAsJgU0obTmNwS 7NnOERUIJk+wbiGAFWcYxGg43GDHMWQ= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 965705C625F; Thu, 8 May 2025 10:18:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPS id 7CF15C4CEE9; Thu, 8 May 2025 10:20:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1746699628; bh=EKC1MDZgWrXQlaptwmHFpj1K0dZR4L3pRVAVi3OGh3g=; h=From:Date:Subject:To:Cc:Reply-To:From; b=ZmZtDPx0UYHhqyOZvTCFRafPrgyp3NpA/za8Qyht092GGbwuXvcdGdqTSa4aMDno+ MyOLuQWMpkvTIVdpLDsddNm2u4Bx3ZIF+eqV8ERFaS4FbPNbRMpxojd7usHcvNLVca pMkxthIHhcmbfLCUjS3ROkBd08gd8bikTVkNgfRxPrzwEHCzDx3btVXwQ+7hpIWPZz Bh1VIuY8Bvr37qupJOfHMVkrMIMgnJ00pCkIslQtyYQMxh2lGjLZZ2V0RChSJLzA1V 2w62dIOkqNoLmeXLxckuOBxCTCTATVTsUKRB3WGFH5nqAJK0vd91N0ommKPMmjtLoe ZANEmp9/GYu2Q== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 71D3CC3ABBE; Thu, 8 May 2025 10:20:28 +0000 (UTC) From: Ignacio Moreno Gonzalez via B4 Relay Date: Thu, 08 May 2025 12:20:27 +0200 Subject: [PATCH] mm: madvise: make MADV_NOHUGEPAGE a no-op if !THP MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20250508-madvise-nohugepage-noop-without-thp-v1-1-e7ceffb197f3@kuka.com> X-B4-Tracking: v=1; b=H4sIAGqFHGgC/x2NwQqFIBBFfyVm3YAZUb1febSwnHQWqai9F0T/n rU7Bw73npAoMiX4VCdE+nFi74o0dQWLVc4Qsi4OUshOdGLATelSETpvd0NBmQd9wD9n6/eM2QY k0ctmHvtWDxLKUoi08vG+fKfrugGPv6WIdQAAAA== X-Change-ID: 20250508-madvise-nohugepage-noop-without-thp-e0721b973d82 To: Andrew Morton , Lorenzo Stoakes , "Liam R. Howlett" Cc: yang@os.amperecomputing.com, willy@infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Ignacio Moreno Gonzalez X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1746699627; l=1782; i=Ignacio.MorenoGonzalez@kuka.com; s=20220915; h=from:subject:message-id; bh=WkzJ0m077QxoI+DJujIZqVZ01oTbN6BGwiqxdFPO/Rw=; b=HOKlWk8Cdb9oLxFnVCfZg9m12ukVQDxIoiovVUj19FPzBgRmFxHHXyOSU5Q53OjwdQhCgF4zV awvIV6P9FYcCxg4MhvNDpGrgPL5lXCBVucnaF5yKAtHrhHwQSEiMk/F X-Developer-Key: i=Ignacio.MorenoGonzalez@kuka.com; a=ed25519; pk=j7nClQnc5Q1IDuT4eS/rYkcLHXzxszu2jziMcJaFdBQ= X-Endpoint-Received: by B4 Relay for Ignacio.MorenoGonzalez@kuka.com/20220915 with auth_id=391 X-Original-From: Ignacio Moreno Gonzalez Reply-To: Ignacio.MorenoGonzalez@kuka.com X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: E3FDF40004 X-Stat-Signature: b85u41f79uhjbwzo49m4sk7cwxkk78jj X-Rspam-User: X-HE-Tag: 1746699629-179180 X-HE-Meta: U2FsdGVkX1/JgI83bk8WI5MIa7AUOJNywB8k+tzJR7zSNaYrhFBk/7E8uuPSqNfnhlJdangFa59aMFOuAfvhiAxwCHqoojy3u1jkh16H8wEhCjbXYz+ultEzoGqyLVLzUjPxzJ2Ka0kXmEGVYdOrgYKj/A+HcMZ5yK8LFz/MzT5yhgLV8jWxXChrxwZmNYBOJTVITN/VQXo0gWZc1LYtpOZpWxjL5wNeapYYYoGjw6hya91GfysHdupwY/3qbwn8K1LIvFhP1zcSvfpJZbLVnbWLV0WxOwkhLWsMAi0ANy3YEPJFMCwIvGbtCDCSOaA8UT9N65Br7OWFJMWTg2euOiCtWIrOc14hiY5spCEmfjjx4kXopAAUU51/IzSRkjTMLtDX/dF/PYzj4+s2j2wbvE987QL+3uxE2q8wsDvknyn1PbfY0bahcmped5UWarD8Iyy62sQnSr//rYUYl2YdD9vdNhsnAlxGrvI2AcA2SELZmihdMOJ72YXzlYFMJdLm4mClM6Iaz3/SXlT1IcNim5VkoUsMNnBsGclsmGA+iMgD7+zpn5LmWa3MIPZmrHmRy6dQBaaq9h0RC+OMjZBUslBC+q5ZhoQ7p7dAn6Jk6XsFefRv9QXAA49TpIKNeJgxl/6UFPjtikp31VeMpyI+A0uibgzEb+xfmitAl47X11y9tbOaBdpPvixdM9aSWslFb/YfQlLZ64CtcbrmRzaK1fX1avkz3w5g7DLbSbCek2+vDTnab9tg4N5wHa3NIzXmh3rRu5YjTfNUT++5zYLuC3KkKK8ULDU1RRIs7M9WwgCSy9qrZIMsEKmOXLYuIWTIViaOmdeOHyGn35p1wfHINp3G8SoJsJZIQ3StohENYkWDfPElThMBEA5ZFrH/XmowdChll+h1t98QQIXIfLRUZy5TPeIv9Oa2GcVKQej/4itjiUxdqFUNSLP8V1cQHrpyEaTvT3uhLkvwmHzd8xJ rrJQTGf7 B3CfAnKt84+eAY90f2l9nJqB0+TbYNwBFQ8RKPG+co4e/mmCoFfVxXSdMTKmuLh8HfppoVgKq6VY+cuykImrkFgitkDtobdaIu7BibQ0AckfkSanx+aMXRmZWmhcrqScAVtjGXBU6O1ukqzB4Hi5z32kcZx1D9DhxHvr/PpnZ72SJYTTblvBbwqDcKDRAHz4St5F1s8+8i5dcABpQ2OYjDa/ATe6RuUvfFvDD0lE+gSZjN81hYqqP2/W9Wk1XeYg8i/WBLdVM0r7mcZLjFXoOZnZ1aVlJvFL/4AthkBWKr7oqDxW7acLXgRsTuYT516fmBQQKIZks7/Q+vORGlf1kKOm5BqHrYwV2iODSaqqo9REtbxrD5cMGY7O2Oc7obZcojp1GweTFFYJZsuHErQmQKt9XIe0cFszUrZ9N3Cm5Z4i5Z83Nh/8vdweAF4EMWdNSMN73W96NIHhOuJwgTuwNUtA+H8Hwo3VyA4AgFydVFQVo6cNVi6gZZg3d9h2W4HdnStmv6+NOd6R/kdNgdYJa50SE1+bK9dmU8KQNEeKIPKuzUOWxmJiBr/jnYGKYGfeyeHhK9bdN5WS6XE28ZEgVfmhDpR8Y6U3SHD7COAaJfxRU5vY= 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: 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..5fca742dc5ba784ffccea055b07247707d16cc67 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_area_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_NOHUGEPAGE is not supported */ + if (advice == MADV_NOHUGEPAGE) + return 0; return -EINVAL; } --- base-commit: fc96b232f8e7c0a6c282f47726b2ff6a5fb341d2 change-id: 20250508-madvise-nohugepage-noop-without-thp-e0721b973d82 Best regards, -- Ignacio Moreno Gonzalez