summaryrefslogtreecommitdiffstats
path: root/mm/nobootmem.c
diff options
context:
space:
mode:
authorNathan Zimmer <nzimmer@sgi.com>2015-06-30 23:56:48 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2015-07-01 04:44:55 +0200
commit92923ca3aacef63c92dc297a75ad0c6dfe4eab37 (patch)
tree586db6346196f978ec9e55da7e9d525235436ab2 /mm/nobootmem.c
parentmm: meminit: move page initialization into a separate function (diff)
downloadlinux-92923ca3aacef63c92dc297a75ad0c6dfe4eab37.tar.xz
linux-92923ca3aacef63c92dc297a75ad0c6dfe4eab37.zip
mm: meminit: only set page reserved in the memblock region
Currently each page struct is set as reserved upon initialization. This patch leaves the reserved bit clear and only sets the reserved bit when it is known the memory was allocated by the bootmem allocator. This makes it easier to distinguish between uninitialised struct pages and reserved struct pages in later patches. Signed-off-by: Robin Holt <holt@sgi.com> Signed-off-by: Nathan Zimmer <nzimmer@sgi.com> Signed-off-by: Mel Gorman <mgorman@suse.de> Tested-by: Nate Zimmer <nzimmer@sgi.com> Tested-by: Waiman Long <waiman.long@hp.com> Tested-by: Daniel J Blueman <daniel@numascale.com> Acked-by: Pekka Enberg <penberg@kernel.org> Cc: Robin Holt <robinmholt@gmail.com> Cc: Dave Hansen <dave.hansen@intel.com> Cc: Waiman Long <waiman.long@hp.com> Cc: Scott Norton <scott.norton@hp.com> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/nobootmem.c')
-rw-r--r--mm/nobootmem.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mm/nobootmem.c b/mm/nobootmem.c
index 5258386fa1be..4af8f88c2bd1 100644
--- a/mm/nobootmem.c
+++ b/mm/nobootmem.c
@@ -130,6 +130,9 @@ static unsigned long __init free_low_memory_core_early(void)
memblock_clear_hotplug(0, -1);
+ for_each_reserved_mem_region(i, &start, &end)
+ reserve_bootmem_region(start, end);
+
for_each_free_mem_range(i, NUMA_NO_NODE, MEMBLOCK_NONE, &start, &end,
NULL)
count += __free_memory_core(start, end);