[RFC 28/43] PKRAM: ensure memblocks with preserved pages init'd for numa

From: Anthony Yznaga
Date: Wed May 06 2020 - 20:45:29 EST


In order to facilitate fast initialization of page structs for
preserved pages, memblocks with preserved pages must not cross
numa node boundaries and must have a node id assigned to them.

Signed-off-by: Anthony Yznaga <anthony.yznaga@xxxxxxxxxx>
---
mm/pkram.c | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/mm/pkram.c b/mm/pkram.c
index a5e539052af6..97a7dd0a5b7d 100644
--- a/mm/pkram.c
+++ b/mm/pkram.c
@@ -21,6 +21,7 @@
#include <linux/sysfs.h>
#include <linux/types.h>

+#include <asm/numa.h>
#include "internal.h"


@@ -242,6 +243,15 @@ void __init pkram_reserve(void)
return;
}

+ /*
+ * Fix up the reserved memblock list to ensure the
+ * memblock regions are split along node boundaries
+ * and have a node ID set. This will allow the page
+ * structs for the preserved pages to be initialized
+ * more efficiently.
+ */
+ numa_isolate_memblocks();
+
done:
pr_info("PKRAM: %lu pages reserved\n", pkram_reserved_pages);
}
--
2.13.3