linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 1/2] mm: hugetlb_vmemmap: introduce ARCH_WANT_HUGETLB_PAGE_FREE_VMEMMAP
@ 2022-03-31  6:56 Muchun Song
  2022-03-31  6:56 ` [PATCH v4 2/2] arm64: mm: hugetlb: Enable HUGETLB_PAGE_FREE_VMEMMAP for arm64 Muchun Song
                   ` (3 more replies)
  0 siblings, 4 replies; 21+ messages in thread
From: Muchun Song @ 2022-03-31  6:56 UTC (permalink / raw)
  To: will, akpm, david, bodeddub, osalvador, mike.kravetz, rientjes,
	mark.rutland, catalin.marinas, james.morse, 21cnbao
  Cc: linux-arm-kernel, linux-kernel, linux-mm, duanxiongchun,
	fam.zheng, smuchun, Muchun Song

The feature of minimizing overhead of struct page associated with each
HugeTLB page is implemented on x86_64, however, the infrastructure of
this feature is already there, we could easily enable it for other
architectures.  Introduce ARCH_WANT_HUGETLB_PAGE_FREE_VMEMMAP for other
architectures to be easily enabled.  Just select this config if they
want to enable this feature.

Suggested-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Muchun Song <songmuchun@bytedance.com>
---
 arch/x86/Kconfig |  1 +
 fs/Kconfig       | 10 +++++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 9f5bd41bf660..e69d42528542 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -119,6 +119,7 @@ config X86
 	select ARCH_WANTS_DYNAMIC_TASK_STRUCT
 	select ARCH_WANTS_NO_INSTR
 	select ARCH_WANT_HUGE_PMD_SHARE
+	select ARCH_WANT_HUGETLB_PAGE_FREE_VMEMMAP	if X86_64
 	select ARCH_WANT_LD_ORPHAN_WARN
 	select ARCH_WANTS_THP_SWAP		if X86_64
 	select ARCH_HAS_PARANOID_L1D_FLUSH
diff --git a/fs/Kconfig b/fs/Kconfig
index 6c7dc1387beb..f6db2af33738 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -245,9 +245,17 @@ config HUGETLBFS
 config HUGETLB_PAGE
 	def_bool HUGETLBFS
 
+#
+# Select this config option from the architecture Kconfig, if it is preferred
+# to enable the feature of minimizing overhead of struct page associated with
+# each HugeTLB page.
+#
+config ARCH_WANT_HUGETLB_PAGE_FREE_VMEMMAP
+	bool
+
 config HUGETLB_PAGE_FREE_VMEMMAP
 	def_bool HUGETLB_PAGE
-	depends on X86_64
+	depends on ARCH_WANT_HUGETLB_PAGE_FREE_VMEMMAP
 	depends on SPARSEMEM_VMEMMAP
 
 config HUGETLB_PAGE_FREE_VMEMMAP_DEFAULT_ON
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2022-04-13 15:00 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-31  6:56 [PATCH v4 1/2] mm: hugetlb_vmemmap: introduce ARCH_WANT_HUGETLB_PAGE_FREE_VMEMMAP Muchun Song
2022-03-31  6:56 ` [PATCH v4 2/2] arm64: mm: hugetlb: Enable HUGETLB_PAGE_FREE_VMEMMAP for arm64 Muchun Song
2022-03-31 22:31   ` Barry Song
2022-04-04  9:26   ` Anshuman Khandual
2022-04-04 12:01     ` Muchun Song
2022-04-05  3:34       ` Anshuman Khandual
2022-04-05  3:49         ` Muchun Song
2022-04-05  4:45   ` Anshuman Khandual
2022-04-05  8:38     ` Muchun Song
2022-04-11  9:17       ` Anshuman Khandual
2022-04-11 10:40         ` Muchun Song
2022-04-11 10:12   ` Anshuman Khandual
2022-04-11 11:55     ` Muchun Song
2022-04-13 10:33   ` Anshuman Khandual
2022-04-13 14:59     ` Muchun Song
2022-03-31  8:42 ` [PATCH v4 1/2] mm: hugetlb_vmemmap: introduce ARCH_WANT_HUGETLB_PAGE_FREE_VMEMMAP David Hildenbrand
2022-03-31  8:48   ` Muchun Song
2022-03-31  8:50     ` David Hildenbrand
2022-03-31  8:53       ` Muchun Song
2022-03-31 22:19 ` Barry Song
2022-04-04  9:05 ` Anshuman Khandual

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).