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 7B89EC61CE8 for ; Thu, 12 Jun 2025 10:51:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1CA076B0088; Thu, 12 Jun 2025 06:51:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 17BA76B0089; Thu, 12 Jun 2025 06:51:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 068EA6B008A; Thu, 12 Jun 2025 06:51: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 DDFA66B0088 for ; Thu, 12 Jun 2025 06:51:22 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 50E5A80B22 for ; Thu, 12 Jun 2025 10:51:22 +0000 (UTC) X-FDA: 83546432004.11.7D0EAC0 Received: from mout-p-101.mailbox.org (mout-p-101.mailbox.org [80.241.56.151]) by imf17.hostedemail.com (Postfix) with ESMTP id 8F12140012 for ; Thu, 12 Jun 2025 10:51:20 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=none; spf=pass (imf17.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.151 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=samsung.com (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749725480; 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; bh=9DtEpIfE3yNMLmPocfwb4r5U4OxZtcXg2Lt9K90OGqY=; b=HBBBK5g4FTAUN0KmhtF2kLxK4eIPPUs4HhWk2vQ58ubE7aY6hyt7cDvVXakVNpdMqz9VN0 G29O3IT+ygsFAgRl1hyverLH2F6e9VEogc2GLQXN7emzsbvlBkt5GcuCtrpbnGsPN1AUGF TgMRzYaYN8oQzwZi+N7JLX3JKYVvCCU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749725480; a=rsa-sha256; cv=none; b=cVnCGAH8gveihYcHSEBFIzG/fNRxS1aPgWD3U4rus8gN888up80Qx4Dd357kPuBASY/W0h aL97oGu0LUcyORoGX2t7ftdIwW45fZRzJ2FLfZED8p1uILI6bTLu6xSGyGnlVH9XkHLR8a WMnA6TO4KjnjOBwwAbAtrPRBajZz+CY= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=none; spf=pass (imf17.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.151 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=samsung.com (policy=none) Received: from smtp202.mailbox.org (smtp202.mailbox.org [10.196.197.202]) (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-101.mailbox.org (Postfix) with ESMTPS id 4bHzpr5vwHz9tGC; Thu, 12 Jun 2025 12:51:16 +0200 (CEST) From: Pankaj Raghav To: Suren Baghdasaryan , Ryan Roberts , Mike Rapoport , Michal Hocko , Thomas Gleixner , Nico Pache , Dev Jain , Baolin Wang , Borislav Petkov , Ingo Molnar , "H . Peter Anvin" , Vlastimil Babka , Zi Yan , Dave Hansen , David Hildenbrand , Lorenzo Stoakes , Andrew Morton , "Liam R . Howlett" , Jens Axboe Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, willy@infradead.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 1/5] mm: move huge_zero_page declaration from huge_mm.h to mm.h Date: Thu, 12 Jun 2025 12:50:56 +0200 Message-ID: <20250612105100.59144-2-p.raghav@samsung.com> In-Reply-To: <20250612105100.59144-1-p.raghav@samsung.com> References: <20250612105100.59144-1-p.raghav@samsung.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: 8F12140012 X-Stat-Signature: qsbkws4dsg8ww1ifsnm3fk7nisy83r5q X-Rspamd-Server: rspam04 X-HE-Tag: 1749725480-977333 X-HE-Meta: U2FsdGVkX19inqmbyexrN0p6/yP7y7xVXRpkjRzATMyIGDTaqUgQZsqa2akrwGT6MJjJOeR4yf8Bw/NImTpY9OnRSMCDEzvvtE80acPJxeRR7D6bJ3mSGi76Q7uhGVit5Sk5fFCZ9TPzMr4jQK9gY7uEmqQxlUKUMVNyemUK2vV5VvpcJfin3lYKEtvgP0SBcCGaZ8TOiLYmyMx4MeEz+pLYh0slCbwJFh0VuFS4oXoN1PFMVNo5ELfKuTBA+zqBoQd3qpL/x38CNz6Y+Nsd8LV5yuStF7UmtFLuJlyiEYwISg7fPi8rAuF4BhdY8eDkOEWWQmzmISs//WGHU3c4Rf4kV3hh4lGkKIPIcxEmeoRANQbvKXm/AQ8AbNm/PyoFWiY6Vf1F+FR+5nSE2rrADEnr9T5LKstEaO3MGmqmRfW40yMxfQ5L2S0Vufw9MJH0SFJiuo+qpMzb59wyK0O+UVu/PQ3S4zFFX9YPDr/APkkUGuVU94XLqVfjbnQGEUsG79Unbg652OH5jcyk5+H7llDE93rZrgCtzZR9rcvbxPmzvvGEDc/Z8G2l0v01NeWtZmbm5rkFDZZpkCUXCj6kmF5FXSIR1M93nsp2F4TbmfKRxBFr1cQLddANmInraKo7Gz7joXWSXxTLR+VLQ9oM0ypW28V+EZIxbaO3PFvtZ8/cUMu430Dz5GtDDqf5sbTGs0VXOqm2Y1GQFX4nZrbRUaPdcZqU7S4ZrA539zAZz3l8a26sgGl0AYtj68dVUT/Ib8qb4E1by42xqP/DacRAAY0/cULLUkutyyRXu5gf7LRDbMOIEQ7ayIyEnMcVuFUFRz+AoP24uiXty8e4fsM3pcBGxL00g9L7Y2QYK/4inzqPZqrRo8DkTNGe6+dd36Ofltl8opbm0kFA+yZheiCHJfy2BADiIKJZv/H59b/IYS46hWmNzkC2LM5/YYhGrb2ToZexHHgiTM+nz8ziSL6 +SjyHcKS bRiHE9oqWhkYqsYjWve3CvZ6crduAxpTp31mOjY7AxBmjz0KOPUWCZQnpdkt+qq1wMy7H/NPdVqv5UTPD/XhONyjHgpMcWuDAbLosM+Ezf79j818Vnu8caiIIykHElnNuTk0WSQQM50Qsqmq2UruuRcY6k1iVv0FfpkKflAMcqtNd36via9Lpb1z8O48Yrhou8CgqIRuzJqAfSSX4bU6wDFcxN8vNylgDt6aHOmXqEyf+wcBcZ4YdmA50w2iv+PVkRDdfNRiX12bDKr3jmGgloerZlQ66PAQmVEgKxp6SX8DABwswuPaURQ/y0g65gCOnMLwEWhSdEcZguRtkXchF168mz6+Xlvz3IPr25+9B8Dv7Fh40iv0z6QbjIqoo3sXn9dRlsaDl40OCnbc9t1s2olVjZ+cEIgsFZbMaDmrpc3pCzlE= 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: 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. 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