Messages in this thread Patch in this message | | | From | Arnd Bergmann <> | Subject | [PATCH] powerpc: mem_init crash for sparsemem | Date | Fri, 4 Nov 2005 16:31:16 +0100 |
| |
I have a Cell blade with some broken memory in the middle of the physical address space and this is correctly detected by the firmware, but not relocated. When I enable CONFIG_SPARSEMEM, the memsections for the nonexistant address space do not get struct page entries allocated, as expected.
However, mem_init for the non-NUMA configuration tries to access these pages without first looking if they are there. I'm currently using the hack below to work around that, but I have the feeling that there should be a cleaner solution for this.
Please comment.
Signed-off-by: Arnd Bergmann <arndb@de.ibm.com>
--- linux-2.6.15-rc.orig/arch/powerpc/mm/mem.c +++ linux-2.6.15-rc/arch/powerpc/mm/mem.c @@ -348,6 +348,9 @@ void __init mem_init(void) #endif for_each_pgdat(pgdat) { for (i = 0; i < pgdat->node_spanned_pages; i++) { + if (!section_has_mem_map(__pfn_to_section + (pgdat->node_start_pfn + i))) + continue; page = pgdat_page_nr(pgdat, i); if (PageReserved(page)) reservedpages++; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |