diff options
author | Nathan Zimmer <nzimmer@sgi.com> | 2015-06-30 23:56:48 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-07-01 04:44:55 +0200 |
commit | 92923ca3aacef63c92dc297a75ad0c6dfe4eab37 (patch) | |
tree | 586db6346196f978ec9e55da7e9d525235436ab2 /mm/nobootmem.c | |
parent | mm: meminit: move page initialization into a separate function (diff) | |
download | linux-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.c | 3 |
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); |