aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wilcox (Oracle) <willy@infradead.org>2025-08-05 18:22:52 +0100
committerAndrew Morton <akpm@linux-foundation.org>2025-09-13 16:55:07 -0700
commit56d578c1300f7efe9605b75714173dd3fda16fe2 (patch)
tree586f384aac18bb0a59fa7e7072c1d9bd24726150
parentmm: introduce memdesc_flags_t (diff)
downloadlinux-56d578c1300f7efe9605b75714173dd3fda16fe2.tar.gz
linux-56d578c1300f7efe9605b75714173dd3fda16fe2.zip
mm: convert page_to_section() to memdesc_section()
Pass in the memdesc_flags_t instead of a pointer to the page. This will allow us to remove a few conversions to struct page in upcoming patches. Link: https://lkml.kernel.org/r/20250805172307.1302730-3-willy@infradead.org Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Zi Yan <ziy@nvidia.com> Cc: Shakeel Butt <shakeel.butt@linux.dev> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-rw-r--r--include/asm-generic/memory_model.h2
-rw-r--r--include/linux/mm.h4
-rw-r--r--mm/sparse.c2
3 files changed, 4 insertions, 4 deletions
diff --git a/include/asm-generic/memory_model.h b/include/asm-generic/memory_model.h
index 74d0077cc5fa..efa6610acbc7 100644
--- a/include/asm-generic/memory_model.h
+++ b/include/asm-generic/memory_model.h
@@ -53,7 +53,7 @@ static inline int pfn_valid(unsigned long pfn)
*/
#define __page_to_pfn(pg) \
({ const struct page *__pg = (pg); \
- int __sec = page_to_section(__pg); \
+ int __sec = memdesc_section(__pg->flags); \
(unsigned long)(__pg - __section_mem_map_addr(__nr_to_section(__sec))); \
})
diff --git a/include/linux/mm.h b/include/linux/mm.h
index da562f23f50c..82617c4cfa24 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1808,9 +1808,9 @@ static inline void set_page_section(struct page *page, unsigned long section)
page->flags.f |= (section & SECTIONS_MASK) << SECTIONS_PGSHIFT;
}
-static inline unsigned long page_to_section(const struct page *page)
+static inline unsigned long memdesc_section(memdesc_flags_t mdf)
{
- return (page->flags.f >> SECTIONS_PGSHIFT) & SECTIONS_MASK;
+ return (mdf.f >> SECTIONS_PGSHIFT) & SECTIONS_MASK;
}
#endif
diff --git a/mm/sparse.c b/mm/sparse.c
index e6075b622407..7cb42cbfc7f9 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -45,7 +45,7 @@ static u16 section_to_node_table[NR_MEM_SECTIONS] __cacheline_aligned;
int page_to_nid(const struct page *page)
{
- return section_to_node_table[page_to_section(page)];
+ return section_to_node_table[memdesc_section(page->flags)];
}
EXPORT_SYMBOL(page_to_nid);