On Thu, Mar 4, 2010 at 7:21 PM, Johannes Weiner <hannes@xxxxxxxxxxx> wrote: > On Thu, Mar 04, 2010 at 01:21:41PM -0800, Greg Thelen wrote: >> On several systems I am seeing a boot panic if I use mmotm >> (stamp-2010-03-02-18-38). If I remove >> bootmem-avoid-dma32-zone-by-default.patch then no panic is seen. I >> find that: >> * 2.6.33 boots fine. >> * 2.6.33 + mmotm w/o bootmem-avoid-dma32-zone-by-default.patch: boots fine. >> * 2.6.33 + mmotm (including >> bootmem-avoid-dma32-zone-by-default.patch): panics. >> Here's the panic seen with earlyprintk using 2.6.33 + mmotm: >> [ 0.000000] modified: 0000000000000000 - 0000000000010000 (reserved) >> [ 0.000000] modified: 0000000000010000 - 000000000009fc00 (usable) >> [ 0.000000] modified: 000000000009fc00 - 00000000000a0000 (reserved) >> [ 0.000000] modified: 00000000000e8000 - 0000000000100000 (reserved) >> [ 0.000000] modified: 0000000000100000 - 000000000fff0000 (usable) >> [ 0.000000] modified: 000000000fff0000 - 0000000010000000 (ACPI data) >> [ 0.000000] modified: 00000000fffbd000 - 0000000100000000 (reserved) >> [ 0.000000] init_memory_mapping: 0000000000000000-000000000fff0000 > 256MB of memory, right? yes, I am testing in a 256MB VM. >> The kernel was built with 'make mrproper && make defconfig && make >> ARCH=x86_64 CONFIG=smp -j 6'. This panic is seen on every attempt, so >> I can provide more diagnostics. > > Okay, if you did defconfig and just hit enter to all questions, you > should have SPARSEMEM_EXTREME and NO_BOOTMEM enabled. Correct. > This means that the 'mem_section' is an array of pointers and the following > happens in memory_present(): > > for_one_pfn_in_each_section() { > sparse_index_init(); /* no return value check */ > ms = __nr_to_section(); > if (!ms->section_mem_map) /* bang */ > ...; > } > > where sparse_index_init(), in the SPARSEMEM_EXTREME case, will allocate > the mem_section descriptor with bootmem. If this would fail, the box > would panic immediately earlier, but NO_BOOTMEM does not seem to get it > right. > > Greg, could you retry _with_ my bootmem patch applied, but with setting > CONFIG_NO_BOOTMEM=n up front? Note: mmotm has been recently updated to stamp-2010-03-04-18-05. I re-tested with 'make defconfig' to confirm the panic with this later mmotm. Then, as you suggested, I set CONFIG_NO_BOOTMEM=n. The system booted fine (no panic). -- Greg -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href