Skip to content

Commit

Permalink
[ARM] Fix show_mem() for discontigmem
Browse files Browse the repository at this point in the history
show_mem() was assuming incorrectly that the mem_map for any
node started at PFN 0.  This is obviously wrong; fix it to
take account of node_start_pfn.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Russell King authored and Russell King committed Jan 24, 2007
1 parent 30f0e0f commit 204ecae
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions arch/arm/mm/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,15 +52,18 @@ void show_mem(void)
printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10));

for_each_online_node(node) {
pg_data_t *n = NODE_DATA(node);
struct page *map = n->node_mem_map - n->node_start_pfn;

for_each_nodebank (i,mi,node) {
unsigned int pfn1, pfn2;
struct page *page, *end;

pfn1 = mi->bank[i].start >> PAGE_SHIFT;
pfn2 = (mi->bank[i].size + mi->bank[i].start) >> PAGE_SHIFT;
pfn1 = __phys_to_pfn(mi->bank[i].start);
pfn2 = __phys_to_pfn(mi->bank[i].size + mi->bank[i].start);

page = NODE_MEM_MAP(node) + pfn1;
end = NODE_MEM_MAP(node) + pfn2;
page = map + pfn1;
end = map + pfn2;

do {
total++;
Expand Down

0 comments on commit 204ecae

Please sign in to comment.