aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorDavid Rientjes <rientjes@google.com>2010-03-05 16:42:14 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-06 14:26:26 -0500
commit72f0ba0252e7177965255ed2c663be126b6b5f91 (patch)
tree2da83e883742ef4bf2d32b53805869f0ea7b3ac2 /mm
parent452aa6999e6703ffbddd7f6ea124d3968915f3e3 (diff)
mm: suppress pfn range output for zones without pages
free_area_init_nodes() emits pfn ranges for all zones on the system. There may be no pages on a higher zone, however, due to memory limitations or the use of the mem= kernel parameter. For example: Zone PFN ranges: DMA 0x00000001 -> 0x00001000 DMA32 0x00001000 -> 0x00100000 Normal 0x00100000 -> 0x00100000 The implementation copies the previous zone's highest pfn, if any, as the next zone's lowest pfn. If its highest pfn is then greater than the amount of addressable memory, the upper memory limit is used instead. Thus, both the lowest and highest possible pfn for higher zones without memory may be the same. The pfn range for zones without memory is now shown as "empty" instead. Signed-off-by: David Rientjes <rientjes@google.com> Cc: Mel Gorman <mel@csn.ul.ie> Reviewed-by: Christoph Lameter <cl@linux-foundation.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/page_alloc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 298f307c63a1..a8182c89de59 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -4392,8 +4392,12 @@ void __init free_area_init_nodes(unsigned long *max_zone_pfn)
4392 for (i = 0; i < MAX_NR_ZONES; i++) { 4392 for (i = 0; i < MAX_NR_ZONES; i++) {
4393 if (i == ZONE_MOVABLE) 4393 if (i == ZONE_MOVABLE)
4394 continue; 4394 continue;
4395 printk(" %-8s %0#10lx -> %0#10lx\n", 4395 printk(" %-8s ", zone_names[i]);
4396 zone_names[i], 4396 if (arch_zone_lowest_possible_pfn[i] ==
4397 arch_zone_highest_possible_pfn[i])
4398 printk("empty\n");
4399 else
4400 printk("%0#10lx -> %0#10lx\n",
4397 arch_zone_lowest_possible_pfn[i], 4401 arch_zone_lowest_possible_pfn[i],
4398 arch_zone_highest_possible_pfn[i]); 4402 arch_zone_highest_possible_pfn[i]);
4399 } 4403 }