Re: kexec/kdump kernel fails to start

From: Yinghai Lu
Date: Tue Sep 04 2012 - 21:15:18 EST


On Tue, Sep 4, 2012 at 5:01 PM, Flavio Leitner <fbl@xxxxxxxxxx> wrote:
> On Tue, 4 Sep 2012 15:25:45 -0700
> kdump works when using your branch:
>
> [ 0.000000] Linux version 3.6.0-rc4-00012-g9389673 (root@xxxxxxxx) (gcc version 4.7.0 20120507 (Red Hat 4.7.0-5) (GCC) ) #1 SMP Tue Sep 4 20:36:43 BRT 2012
> ...
> [ 0.000000] initial memory mapped: [mem 0x00000000-0x1fffffff]
> [ 0.000000] Base memory trampoline at [ffff880000097000] 97000 size 24576
> [ 0.000000] calculate_table_space_size: [mem 0x00000000-0x000fffff]
> [ 0.000000] [mem 0x00000000-0x000fffff] page 4k
> [ 0.000000] calculate_table_space_size: [mem 0x00100000-0xbf4bcfff]
> [ 0.000000] [mem 0x00100000-0x001fffff] page 4k
> [ 0.000000] [mem 0x00200000-0xbf3fffff] page 2M
> [ 0.000000] [mem 0xbf400000-0xbf4bcfff] page 4k
> [ 0.000000] calculate_table_space_size: [mem 0xbf4bf000-0xbf4c5fff]
> [ 0.000000] [mem 0xbf4bf000-0xbf4c5fff] page 4k
> [ 0.000000] calculate_table_space_size: [mem 0xbf7bf000-0xbf7dffff]
> [ 0.000000] [mem 0xbf7bf000-0xbf7dffff] page 4k
> [ 0.000000] calculate_table_space_size: [mem 0xbf7ff000-0xbf7fffff]
> [ 0.000000] [mem 0xbf7ff000-0xbf7fffff] page 4k
> [ 0.000000] calculate_table_space_size: [mem 0x100000000-0x43fffffff]
> [ 0.000000] [mem 0x100000000-0x43fffffff] page 2M
> [ 0.000000] kernel direct mapping tables up to 0x43fffffff @ [mem 0x43ffe1000-0x43fffffff] prealloc
> [ 0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
> [ 0.000000] [mem 0x00000000-0x000fffff] page 4k
> [ 0.000000] init_memory_mapping: [mem 0x00100000-0xbf4bcfff]
> [ 0.000000] [mem 0x00100000-0x001fffff] page 4k
> [ 0.000000] [mem 0x00200000-0xbf3fffff] page 2M
> [ 0.000000] [mem 0xbf400000-0xbf4bcfff] page 4k
> [ 0.000000] init_memory_mapping: [mem 0xbf4bf000-0xbf4c5fff]
> [ 0.000000] [mem 0xbf4bf000-0xbf4c5fff] page 4k
> [ 0.000000] init_memory_mapping: [mem 0xbf7bf000-0xbf7dffff]
> [ 0.000000] [mem 0xbf7bf000-0xbf7dffff] page 4k
> [ 0.000000] init_memory_mapping: [mem 0xbf7ff000-0xbf7fffff]
> [ 0.000000] [mem 0xbf7ff000-0xbf7fffff] page 4k
> [ 0.000000] init_memory_mapping: [mem 0x100000000-0x43fffffff]
> [ 0.000000] [mem 0x100000000-0x43fffffff] page 2M
> [ 0.000000] kernel direct mapping tables up to 0x43fffffff @ [mem 0x43ffe1000-0x43fff2fff] final
> [ 0.000000] RAMDISK: [mem 0x34ffa000-0x367f4fff]

thanks.

assume when we have good_end setting for 64 bit, page table for [4g,
TOMH) will be just under 512M, and later when first
first 2M lines changes, will push that page table range a little low,
and will make kdump not happy.

BTW the first 2M change commit is useless should be reverted. because
even it is in 2M page mapping at first, later
kernel will change to 4k page.

and with other change in this patchset, init_memory_mapping(0,
ISA_END_ADDR) will always make sure first 2M use 4K page.

Thanks

Yinghai
--
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/