]> www.infradead.org Git - users/willy/linux.git/commitdiff
mm: Add pgflags_nid()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Wed, 29 Sep 2021 14:26:21 +0000 (10:26 -0400)
committerMatthew Wilcox (Oracle) <willy@infradead.org>
Sun, 3 Oct 2021 10:56:47 +0000 (06:56 -0400)
Convert page_to_nid() into a wrapper around pgflags_nid().  This is
in preparation for splitting struct page into separate types.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
include/linux/mm.h
mm/sparse.c

index db63653f403c1e109426a8f1131f9d0e1d57a6f0..adc7e843148b46fbb4b96a15e64bd4b8b3ae28d2 100644 (file)
@@ -1369,16 +1369,20 @@ static inline int page_zone_id(struct page *page)
 }
 
 #ifdef NODE_NOT_IN_PAGE_FLAGS
-extern int page_to_nid(const struct page *page);
+extern int pgflags_nid(unsigned long pgflags);
 #else
+static inline int pgflags_nid(unsigned long pgflags)
+{
+       return (pgflags >> NODES_PGSHIFT) & NODES_MASK;
+}
+#endif
+
 static inline int page_to_nid(const struct page *page)
 {
        struct page *p = (struct page *)page;
 
-       return (PF_POISONED_CHECK(p)->flags >> NODES_PGSHIFT) & NODES_MASK;
+       return pgflags_nid(PF_POISONED_CHECK(p)->flags);
 }
-#endif
-
 #ifdef CONFIG_NUMA_BALANCING
 static inline int cpu_pid_to_cpupid(int cpu, int pid)
 {
index 4c59ed8c1d5ac9902e6c18f5489393a40c4456a1..818bdb84be99f2221a8f0b9948afb0274486341d 100644 (file)
@@ -43,11 +43,11 @@ static u8 section_to_node_table[NR_MEM_SECTIONS] __cacheline_aligned;
 static u16 section_to_node_table[NR_MEM_SECTIONS] __cacheline_aligned;
 #endif
 
-int page_to_nid(const struct page *page)
+int pgflags_nid(unsigned long pgflags)
 {
-       return section_to_node_table[pgflags_section(page->flags)];
+       return section_to_node_table[pgflags_section(pgflags)];
 }
-EXPORT_SYMBOL(page_to_nid);
+EXPORT_SYMBOL(pgflags_nid);
 
 static void set_section_nid(unsigned long section_nr, int nid)
 {