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