Commit 369a9d8523dc7317eccb64b7aee6e9641d84cc8b
Committed by
Linus Torvalds
1 parent
7d2c774708
Exists in
smarc-imx_3.14.28_1.0.0_ga
and in
1 other branch
mm/ppc: prepare for removing num_physpages and simplify mem_init()
Prepare for removing num_physpages and simplify mem_init(). Signed-off-by: Jiang Liu <jiang.liu@huawei.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 1 changed file with 12 additions and 44 deletions Side-by-side Diff
arch/powerpc/mm/mem.c
... | ... | @@ -299,47 +299,28 @@ |
299 | 299 | |
300 | 300 | void __init mem_init(void) |
301 | 301 | { |
302 | -#ifdef CONFIG_NEED_MULTIPLE_NODES | |
303 | - int nid; | |
304 | -#endif | |
305 | - pg_data_t *pgdat; | |
306 | - unsigned long i; | |
307 | - struct page *page; | |
308 | - unsigned long reservedpages = 0, codesize, initsize, datasize, bsssize; | |
309 | - | |
310 | 302 | #ifdef CONFIG_SWIOTLB |
311 | 303 | swiotlb_init(0); |
312 | 304 | #endif |
313 | 305 | |
314 | - num_physpages = memblock_phys_mem_size() >> PAGE_SHIFT; | |
315 | 306 | high_memory = (void *) __va(max_low_pfn * PAGE_SIZE); |
316 | 307 | |
317 | 308 | #ifdef CONFIG_NEED_MULTIPLE_NODES |
318 | - for_each_online_node(nid) { | |
319 | - if (NODE_DATA(nid)->node_spanned_pages != 0) { | |
320 | - printk("freeing bootmem node %d\n", nid); | |
321 | - free_all_bootmem_node(NODE_DATA(nid)); | |
322 | - } | |
309 | + { | |
310 | + pg_data_t *pgdat; | |
311 | + | |
312 | + for_each_online_pgdat(pgdat) | |
313 | + if (pgdat->node_spanned_pages != 0) { | |
314 | + printk("freeing bootmem node %d\n", | |
315 | + pgdat->node_id); | |
316 | + free_all_bootmem_node(pgdat); | |
317 | + } | |
323 | 318 | } |
324 | 319 | #else |
325 | 320 | max_mapnr = max_pfn; |
326 | 321 | free_all_bootmem(); |
327 | 322 | #endif |
328 | - for_each_online_pgdat(pgdat) { | |
329 | - for (i = 0; i < pgdat->node_spanned_pages; i++) { | |
330 | - if (!pfn_valid(pgdat->node_start_pfn + i)) | |
331 | - continue; | |
332 | - page = pgdat_page_nr(pgdat, i); | |
333 | - if (PageReserved(page)) | |
334 | - reservedpages++; | |
335 | - } | |
336 | - } | |
337 | 323 | |
338 | - codesize = (unsigned long)&_sdata - (unsigned long)&_stext; | |
339 | - datasize = (unsigned long)&_edata - (unsigned long)&_sdata; | |
340 | - initsize = (unsigned long)&__init_end - (unsigned long)&__init_begin; | |
341 | - bsssize = (unsigned long)&__bss_stop - (unsigned long)&__bss_start; | |
342 | - | |
343 | 324 | #ifdef CONFIG_HIGHMEM |
344 | 325 | { |
345 | 326 | unsigned long pfn, highmem_mapnr; |
346 | 327 | |
... | ... | @@ -348,13 +329,9 @@ |
348 | 329 | for (pfn = highmem_mapnr; pfn < max_mapnr; ++pfn) { |
349 | 330 | phys_addr_t paddr = (phys_addr_t)pfn << PAGE_SHIFT; |
350 | 331 | struct page *page = pfn_to_page(pfn); |
351 | - if (memblock_is_reserved(paddr)) | |
352 | - continue; | |
353 | - free_highmem_page(page); | |
354 | - reservedpages--; | |
332 | + if (!memblock_is_reserved(paddr)) | |
333 | + free_highmem_page(page); | |
355 | 334 | } |
356 | - printk(KERN_DEBUG "High memory: %luk\n", | |
357 | - totalhigh_pages << (PAGE_SHIFT-10)); | |
358 | 335 | } |
359 | 336 | #endif /* CONFIG_HIGHMEM */ |
360 | 337 | |
... | ... | @@ -367,16 +344,7 @@ |
367 | 344 | (mfspr(SPRN_TLB1CFG) & TLBnCFG_N_ENTRY) - 1; |
368 | 345 | #endif |
369 | 346 | |
370 | - printk(KERN_INFO "Memory: %luk/%luk available (%luk kernel code, " | |
371 | - "%luk reserved, %luk data, %luk bss, %luk init)\n", | |
372 | - nr_free_pages() << (PAGE_SHIFT-10), | |
373 | - num_physpages << (PAGE_SHIFT-10), | |
374 | - codesize >> 10, | |
375 | - reservedpages << (PAGE_SHIFT-10), | |
376 | - datasize >> 10, | |
377 | - bsssize >> 10, | |
378 | - initsize >> 10); | |
379 | - | |
347 | + mem_init_print_info(NULL); | |
380 | 348 | #ifdef CONFIG_PPC32 |
381 | 349 | pr_info("Kernel virtual memory layout:\n"); |
382 | 350 | pr_info(" * 0x%08lx..0x%08lx : fixmap\n", FIXADDR_START, FIXADDR_TOP); |