Re: [PATCH] x86: not overmap than end in init_memory_mapping -64bit

From: Ingo Molnar
Date: Wed Jul 09 2008 - 04:34:51 EST



* Ingo Molnar <mingo@xxxxxxx> wrote:

> > handle head and tail that can not aligned to big pages.
> >
> > with this patch, on system that support gbpages
> > change
> > last_map_addr: 1080000000 end: 1078000000
> > to
> > last_map_addr: 1078000000 end: 1078000000
> >
> > Signed-off-by: Yinghai Lu <yhlu.kernel@xxxxxxxxx>
>
> applied to tip/x86/core, thanks Yinghai.

found an early boot crash on a testbox:

[ 0.000000] last_pfn = 0x3fff0 max_arch_pfn = 0x3ffffffff
[ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[ 0.000000] init_memory_mapping
[ 0.000000] kernel direct mapping tables up to 3fff0000 @ 8000-b000
[ 0.000000] last_map_addr: 40000000 end: 3fff0000
[ 0.000000] ACPI: RSDP 000F76F0, 0014 (r0 Nvidia)
PANIC: early exception 0e rip 10:ffffffff803d3b8a error 0 cr2 ffff88003fff3040
[ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.26-rc9-tip-00118-g95f03c7-dirty #16954
[ 0.000000]
[ 0.000000] Call Trace:
[ 0.000000] [<ffffffff80c05196>] early_idt_handler+0x56/0x6a
[ 0.000000] [<ffffffff803d3b8a>] ? acpi_tb_print_table_header+0xe/0xd5
[ 0.000000] [<ffffffff803d3bfc>] ? acpi_tb_print_table_header+0x80/0xd5
[ 0.000000] [<ffffffff803d42f4>] ? acpi_tb_scan_memory_for_rsdp+0xc8/0xd3

i bisected it down to:

| a1007454854803f6fc63f0a881518cea87df6d9a is first bad commit
| commit a1007454854803f6fc63f0a881518cea87df6d9a
| Author: Yinghai Lu <yhlu.kernel@xxxxxxxxx>
| Date: Tue Jul 8 01:43:27 2008 -0700
|
| x86: not overmap more than the end of RAM in init_memory_mapping - 64bit

with this config:

http://redhat.com/~mingo/misc/config-Wed_Jul__9_09_43_06_CEST_2008.bad

crashlog:

http://redhat.com/~mingo/misc/crashlog-Wed_Jul__9_09_43_06_CEST_2008.bad

i've pushed the failing tree out to tip/tmp.x86.Jul__9_09_43

reverting the commit solves the crash. The crash seems to be because
ACPI is unable to access that memory range. (perhaps early_ioremap
fails?)

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/