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 83136C8303C for ; Mon, 7 Jul 2025 14:23:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0D10A6B02E9; Mon, 7 Jul 2025 10:23:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 081C26B02EA; Mon, 7 Jul 2025 10:23:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ED9AE6B02EB; Mon, 7 Jul 2025 10:23:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id DB7F46B02E9 for ; Mon, 7 Jul 2025 10:23:41 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 6521E52E2B for ; Mon, 7 Jul 2025 14:23:41 +0000 (UTC) X-FDA: 83637687042.16.403C521 Received: from mout-p-102.mailbox.org (mout-p-102.mailbox.org [80.241.56.152]) by imf19.hostedemail.com (Postfix) with ESMTP id 843181A000A for ; Mon, 7 Jul 2025 14:23:39 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=wp3KZfoK; spf=pass (imf19.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.152 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751898219; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=d91pgcDgrRL2JpOOqB781Bo9qwyVwFxGfEFfjYlReNI=; b=ShYJk0+IlKXYmJrvWBQTMzRUvWv3knDVH1ZnSXj/emxI2cy897qcyqkugEjzynNE2gbM93 xhiMJy2zSDvi7qoMGrY9MsPxxdl3sy1U03M1a6qki6wjZCa82F3apCapVCnTyQzbDfjV57 CBQA39TwZFqe/Sjoc8J2/pGquDEPofI= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=wp3KZfoK; spf=pass (imf19.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.152 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751898219; a=rsa-sha256; cv=none; b=jgVWcxwEEf+64WPANA1QwfP7oKJgUW2nrVbsiNnthHPXQSTDi+4b3l6YTR7EvicQOBXFBU plBoiUlDrXKEgUGSfoKfpOzl9+Wh3qmbcW3nWS+zPNGvBZtP0s7cK8YBiBXfWeW3M7wVU4 lSbSEXhdFiwaXFVmVW5qMTf0qZ3y8/w= Received: from smtp2.mailbox.org (smtp2.mailbox.org [10.196.197.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4bbRLJ1x3pz9tyQ; Mon, 7 Jul 2025 16:23:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pankajraghav.com; s=MBO0001; t=1751898216; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=d91pgcDgrRL2JpOOqB781Bo9qwyVwFxGfEFfjYlReNI=; b=wp3KZfoKnF6ITu982GQemk4XaqE9lTE0V+hBMyjHhaiQUaHbr+ZgnuudICs62/+f+pNYJt rpsnAm8HGEE66RB+ZOKlhdeRFUec9kMz7r/+Oa9UmEPuSo8M1tXS0+THT7yYM37KUFc47X hlPW0H9WjuHh5J/5IMS7z5fAuO8uwF+XeFCOrxVhPeZfajkWEdUWFAu5fxbsolNDBA5F0j JJku7U0793nWBiTafdK414V6ecgO5BX20ur8VcX0h8YfsjCYvOWRpC6COpuU4SMQp+PSX4 jHT/6YATywrR4R+vs4iV2Kn8shiXQu5VmX8LUBU1OiMcUfN0hAOjO+a6bbOv7w== From: "Pankaj Raghav (Samsung)" To: Suren Baghdasaryan , Ryan Roberts , Baolin Wang , Borislav Petkov , Ingo Molnar , "H . Peter Anvin" , Vlastimil Babka , Zi Yan , Mike Rapoport , Dave Hansen , Michal Hocko , David Hildenbrand , Lorenzo Stoakes , Andrew Morton , Thomas Gleixner , Nico Pache , Dev Jain , "Liam R . Howlett" , Jens Axboe Cc: linux-kernel@vger.kernel.org, willy@infradead.org, linux-mm@kvack.org, x86@kernel.org, linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, "Darrick J . Wong" , mcgrof@kernel.org, gost.dev@samsung.com, kernel@pankajraghav.com, hch@lst.de, Pankaj Raghav Subject: [PATCH v2 1/5] mm: move huge_zero_page declaration from huge_mm.h to mm.h Date: Mon, 7 Jul 2025 16:23:15 +0200 Message-ID: <20250707142319.319642-2-kernel@pankajraghav.com> In-Reply-To: <20250707142319.319642-1-kernel@pankajraghav.com> References: <20250707142319.319642-1-kernel@pankajraghav.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: fmi9oqgpacaof9ixxbb7hf8a8c95r56y X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 843181A000A X-HE-Tag: 1751898219-951785 X-HE-Meta: U2FsdGVkX18kqdmLuVZLXJiViENu/ZwbcXG3ZlTIKOgEndv2ZT0w5llHtXERX4I3j1D+wyqVKF7bLXVXCt78lH0MBJefh2PvWIE5Kf9wRRd4jsUAUNhqchErYZhFc7MJHSvW/ppGuX2YfPPJc5JFbwcXIMWged/PqJYLwBXhJU9z6pHO4fZLkrmAs0ceaqleMsOMwJWBiQhz8azpzQRzTksKNFG4ysgvEVNFdSkMFMCVHGGdBMQyvfXYMloI9Ag08VWTSx2z//SyrbEAHmUcm6hShN/OJ9UWtnDjUacvHNXLd+C1zjeNtzYldvkdJxxAOFUQ2fwpQuhXXhWdW8eJ9g6+W0MoOSvpSqvsBG5qdJX3fAK7icq9z/J2Nj6CQe23UMyCQrvo7lGdfkQ6V1bkffknw60xGY9lhmUkbOEbCXqNDEGXEG/yik4TnhJIQQMSbs60CEhI7/E0ZX2Z5Osy1915qRcSoAjxtikYD7Co8JIKWstRxU7mTaKfrMlubi5VCfXG9KL7CEm8wDEYSJNYc5mS2ZfuzHxfM2JnKju7NzCMhSoEFB376pFhVThQrjJaJV6LJnZTV41wvRh3QoqVhLwSdNwTBPF/13mp9Ip9ENBSbfHH8gvbIwJqZ3hofeB2kJimP1Q3ad5GY02BGehNQtxuM5f/oqlT2QCiYIHEMYkX7evgpfCOdK0m9HUX9uYbeSR4OkqX9M8GQb70Xpu5HA1j58wugnmcoIhC2/dLmk6KFfPZyvMfQLw/QITQmzCnssHG3puUTsTvfj3QhrdUTqaWRKqAc+Sor884UCOuwcvlltSdBL+ASUjOGu6rTTANCrIF6gIrDpHZCNwCVSPe6cIF1HVsWj0ZnOB96Sp6DPxJkhzca07kJisX7obvYJjdmuGLKOcFKWOAfLuy00Sz9QI/Hp5h6CscxlzaThtzHIh+DPBhfS127iQRe8a72BIIpWUAgomDJ4lGMY8kncJ MXq2tXvF oCFV3IyPRAe3cJQFsOJJmyel+Y8Xrw+gLQw3CSrmtaPNDh8IvF64xyZRnDHOmgrJNaMP+BX0Ow/jHtY8gKGL0P34m+AJkkFx/fE33Z/zJlQMEqiIrXd+gpVVjddOg2SuBaOq2s8Yz6EEf735Xjk1sTB0BO56b8IhWSc6kGWaDjODziYClML61jLPkuPkPGD5+VdS2PzJMCp8zs428wlF4+eLqjoPDhY50pahXlMYACghTCeJCIxSNY33co1ozPs3DvGD0iEPesvRhksLmAmXMGznfajsrc4r8FEhU70kQsAbJ3HsceNFPT77psS5hwAubv5b+1meCCv4rJ3FE00TsrYHQX0ih525lXAOIjLrGpisrMGse8yNUpO0gnKqQgTg6B299 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: Pankaj Raghav Move the declaration associated with huge_zero_page from huge_mm.h to mm.h. This patch is in preparation for adding static PMD zero page as we will be reusing some of the huge_zero_page infrastructure. No functional changes. Signed-off-by: Pankaj Raghav --- include/linux/huge_mm.h | 31 ------------------------------- include/linux/mm.h | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 31 deletions(-) diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h index 2f190c90192d..3e887374892c 100644 --- a/include/linux/huge_mm.h +++ b/include/linux/huge_mm.h @@ -478,22 +478,6 @@ struct page *follow_devmap_pmd(struct vm_area_struct *vma, unsigned long addr, vm_fault_t do_huge_pmd_numa_page(struct vm_fault *vmf); -extern struct folio *huge_zero_folio; -extern unsigned long huge_zero_pfn; - -static inline bool is_huge_zero_folio(const struct folio *folio) -{ - return READ_ONCE(huge_zero_folio) == folio; -} - -static inline bool is_huge_zero_pmd(pmd_t pmd) -{ - return pmd_present(pmd) && READ_ONCE(huge_zero_pfn) == pmd_pfn(pmd); -} - -struct folio *mm_get_huge_zero_folio(struct mm_struct *mm); -void mm_put_huge_zero_folio(struct mm_struct *mm); - static inline bool thp_migration_supported(void) { return IS_ENABLED(CONFIG_ARCH_ENABLE_THP_MIGRATION); @@ -631,21 +615,6 @@ static inline vm_fault_t do_huge_pmd_numa_page(struct vm_fault *vmf) return 0; } -static inline bool is_huge_zero_folio(const struct folio *folio) -{ - return false; -} - -static inline bool is_huge_zero_pmd(pmd_t pmd) -{ - return false; -} - -static inline void mm_put_huge_zero_folio(struct mm_struct *mm) -{ - return; -} - static inline struct page *follow_devmap_pmd(struct vm_area_struct *vma, unsigned long addr, pmd_t *pmd, int flags, struct dev_pagemap **pgmap) { diff --git a/include/linux/mm.h b/include/linux/mm.h index 0ef2ba0c667a..c8fbeaacf896 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -4018,6 +4018,40 @@ static inline bool vma_is_special_huge(const struct vm_area_struct *vma) #endif /* CONFIG_TRANSPARENT_HUGEPAGE || CONFIG_HUGETLBFS */ +#ifdef CONFIG_TRANSPARENT_HUGEPAGE +extern struct folio *huge_zero_folio; +extern unsigned long huge_zero_pfn; + +static inline bool is_huge_zero_folio(const struct folio *folio) +{ + return READ_ONCE(huge_zero_folio) == folio; +} + +static inline bool is_huge_zero_pmd(pmd_t pmd) +{ + return pmd_present(pmd) && READ_ONCE(huge_zero_pfn) == pmd_pfn(pmd); +} + +struct folio *mm_get_huge_zero_folio(struct mm_struct *mm); +void mm_put_huge_zero_folio(struct mm_struct *mm); + +#else +static inline bool is_huge_zero_folio(const struct folio *folio) +{ + return false; +} + +static inline bool is_huge_zero_pmd(pmd_t pmd) +{ + return false; +} + +static inline void mm_put_huge_zero_folio(struct mm_struct *mm) +{ + return; +} +#endif /* CONFIG_TRANSPARENT_HUGEPAGE */ + #if MAX_NUMNODES > 1 void __init setup_nr_node_ids(void); #else -- 2.49.0