On Tue, 4 Sep 2012 12:20:14 -0700 Yinghai Lu <ying...@kernel.org> wrote:
> On Tue, Sep 4, 2012 at 12:17 PM, Flavio Leitner <f...@redhat.com> wrote: > > On Tue, 4 Sep 2012 12:02:00 -0700 > > [ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new > > 0x7010600070106 > > [ 0.000000] last_pfn = 0xbf800 max_arch_pfn = 0x400000000 > > [ 0.000000] initial memory mapped : 0 - 20000000 > > [ 0.000000] Base memory trampoline at [ffff880000098000] 98000 size 20480 > > [ 0.000000] init_memory_mapping: 0000000000000000-00000000bf800000 > > [ 0.000000] 0000000000 - 00bf800000 page 2M > > [ 0.000000] kernel direct mapping tables up to bf800000 @ > > 1fa00000-20000000 > > [ 0.000000] init_memory_mapping: 0000000100000000-0000000440000000 > > [ 0.000000] 0100000000 - 0440000000 page 2M > > [ 0.000000] kernel direct mapping tables up to 440000000 @ > > bdaab000-bf4bd000 > > [ 0.000000] RAMDISK: 352c8000 - 3695c000 > > Alright, moving the extra accounting to be inside of CONFIG_X86_32 works out. diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c index e0e6990..63e6a5c 100644 --- a/arch/x86/mm/init.c +++ b/arch/x86/mm/init.c @@ -60,10 +60,10 @@ static void __init find_early_table_space(struct map_range *mr, unsigned long en extra = end - ((end>>PMD_SHIFT) << PMD_SHIFT); #ifdef CONFIG_X86_32 extra += PMD_SIZE; -#endif /* The first 2/4M doesn't use large pages. */ if (mr->start < PMD_SIZE) extra += mr->end - mr->start; +#endif ptes = (extra + PAGE_SIZE - 1) >> PAGE_SHIFT; } else > BTW, can you please try our new init_memory_mapping clean up at > > git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git > for-x86-mm > > hope it could make your kdump working. I will give a try. fbl -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/