aboutsummaryrefslogtreecommitdiffstats
path: root/mm/sparse.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2017-11-10 02:05:30 -0500
committerIngo Molnar <mingo@kernel.org>2017-11-10 02:05:30 -0500
commitd04fdafc066fed10cc9610b2f36f1d0ff0327864 (patch)
treef3365e4bf1064737a36e5488641a14e54fc173bc /mm/sparse.c
parent7980f029d05d8a3b4634aa6952e1ec51bce9431f (diff)
parentc5e260890d5fd6687287f2b532c738a359a61a82 (diff)
Merge branch 'x86/mm' into x86/asm, to merge branches
Most of x86/mm is already in x86/asm, so merge the rest too. Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'mm/sparse.c')
-rw-r--r--mm/sparse.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/mm/sparse.c b/mm/sparse.c
index 044138852baf..60805abf98af 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -207,6 +207,16 @@ void __init memory_present(int nid, unsigned long start, unsigned long end)
207{ 207{
208 unsigned long pfn; 208 unsigned long pfn;
209 209
210#ifdef CONFIG_SPARSEMEM_EXTREME
211 if (unlikely(!mem_section)) {
212 unsigned long size, align;
213
214 size = sizeof(struct mem_section) * NR_SECTION_ROOTS;
215 align = 1 << (INTERNODE_CACHE_SHIFT);
216 mem_section = memblock_virt_alloc(size, align);
217 }
218#endif
219
210 start &= PAGE_SECTION_MASK; 220 start &= PAGE_SECTION_MASK;
211 mminit_validate_memmodel_limits(&start, &end); 221 mminit_validate_memmodel_limits(&start, &end);
212 for (pfn = start; pfn < end; pfn += PAGES_PER_SECTION) { 222 for (pfn = start; pfn < end; pfn += PAGES_PER_SECTION) {