aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
Diffstat (limited to 'mm')
-rw-r--r--mm/sparse.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/mm/sparse.c b/mm/sparse.c
index e8f36e4796d0..54f3940406cb 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -176,7 +176,7 @@ unsigned long __init node_memmap_size_bytes(int nid, unsigned long start_pfn,
176 if (nid != early_pfn_to_nid(pfn)) 176 if (nid != early_pfn_to_nid(pfn))
177 continue; 177 continue;
178 178
179 if (pfn_valid(pfn)) 179 if (pfn_present(pfn))
180 nr_pages += PAGES_PER_SECTION; 180 nr_pages += PAGES_PER_SECTION;
181 } 181 }
182 182
@@ -206,11 +206,12 @@ struct page *sparse_decode_mem_map(unsigned long coded_mem_map, unsigned long pn
206static int __meminit sparse_init_one_section(struct mem_section *ms, 206static int __meminit sparse_init_one_section(struct mem_section *ms,
207 unsigned long pnum, struct page *mem_map) 207 unsigned long pnum, struct page *mem_map)
208{ 208{
209 if (!valid_section(ms)) 209 if (!present_section(ms))
210 return -EINVAL; 210 return -EINVAL;
211 211
212 ms->section_mem_map &= ~SECTION_MAP_MASK; 212 ms->section_mem_map &= ~SECTION_MAP_MASK;
213 ms->section_mem_map |= sparse_encode_mem_map(mem_map, pnum); 213 ms->section_mem_map |= sparse_encode_mem_map(mem_map, pnum) |
214 SECTION_HAS_MEM_MAP;
214 215
215 return 1; 216 return 1;
216} 217}
@@ -256,7 +257,7 @@ void __init sparse_init(void)
256 struct page *map; 257 struct page *map;
257 258
258 for (pnum = 0; pnum < NR_MEM_SECTIONS; pnum++) { 259 for (pnum = 0; pnum < NR_MEM_SECTIONS; pnum++) {
259 if (!valid_section_nr(pnum)) 260 if (!present_section_nr(pnum))
260 continue; 261 continue;
261 262
262 map = sparse_early_mem_map_alloc(pnum); 263 map = sparse_early_mem_map_alloc(pnum);