[RFC 3/3] sparse-vmemmap: let vmemmap_verify() ignore NUMA_NO_NODE requests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On x86, Kasan's initizalization in arch/x86/mm/kasan_init_64.c calls
vmemmap_populate() and thus, since commit 7b79d10a2d64 ("mm: convert
kmalloc_section_memmap() to populate_section_memmap()"),
vmemmap_populate_basepages() with a node value of NUMA_NO_NODE.

Since a page's actual NUMA node is never equal to NUMA_NO_NODE, this
results in excessive warnings from vmemmap_verify():

  [ffffed00179c6e00-ffffed00179c7dff] potential offnode page_structs
  [ffffed00179c7e00-ffffed00179c8dff] potential offnode page_structs
  [ffffed00179c8e00-ffffed00179c9dff] potential offnode page_structs
  [ffffed00179c9e00-ffffed00179cadff] potential offnode page_structs
  [ffffed00179cae00-ffffed00179cbdff] potential offnode page_structs
  [...]

Make vmemmap_verify() return early if the requested node equals
NUMA_NO_NODE.

Signed-off-by: Nicolai Stange <nicstange@xxxxxxxxx>
---
 mm/sparse-vmemmap.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/mm/sparse-vmemmap.c b/mm/sparse-vmemmap.c
index f08872b58e48..e38aaf6c312c 100644
--- a/mm/sparse-vmemmap.c
+++ b/mm/sparse-vmemmap.c
@@ -165,6 +165,9 @@ void __meminit vmemmap_verify(pte_t *pte, int node,
 	unsigned long pfn = pte_pfn(*pte);
 	int actual_node = early_pfn_to_nid(pfn);
 
+	if (node == NUMA_NO_NODE)
+		return;
+
 	if (node_distance(actual_node, node) > LOCAL_DISTANCE)
 		pr_warn("[%lx-%lx] potential offnode page_structs\n",
 			start, end - 1);
-- 
2.11.1

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]
  Powered by Linux