Message ID | 1470143947-24443-3-git-send-email-srikar@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
On Tue, 2016-08-02 at 18:49 +0530, Srikar Dronamraju wrote: > Fadump kernel reserves significant number of memory blocks. On a multi-node > machine, with CONFIG_DEFFERRED_STRUCT_PAGE support, fadump kernel fails to > boot. Fix this by disabling deferred page struct initialisation. > How much memory does a fadump kernel need? Can we bump up the limits depending on the config. I presume when you say fadump kernel you mean kernel with FADUMP in the config? BTW, I would much rather prefer a config based solution that does not select DEFERRED_INIT if FADUMP is enabled. Balbir
On 08/03/2016 07:20 AM, Balbir Singh wrote: > On Tue, 2016-08-02 at 18:49 +0530, Srikar Dronamraju wrote: >> Fadump kernel reserves significant number of memory blocks. On a multi-node >> machine, with CONFIG_DEFFERRED_STRUCT_PAGE support, fadump kernel fails to >> boot. Fix this by disabling deferred page struct initialisation. >> > > How much memory does a fadump kernel need? Can we bump up the limits depending > on the config. I presume when you say fadump kernel you mean kernel with > FADUMP in the config? > > BTW, I would much rather prefer a config based solution that does not select > DEFERRED_INIT if FADUMP is enabled. IIRC the kdump/fadump kernel is typically the same vmlinux as the main kernel, just with special initrd and boot params. So if you want deferred init for the main kernel, this would be impractical. > Balbir >
Vlastimil Babka <vbabka@suse.cz> writes: > On 08/03/2016 07:20 AM, Balbir Singh wrote: >> On Tue, 2016-08-02 at 18:49 +0530, Srikar Dronamraju wrote: >>> Fadump kernel reserves significant number of memory blocks. On a multi-node >>> machine, with CONFIG_DEFFERRED_STRUCT_PAGE support, fadump kernel fails to >>> boot. Fix this by disabling deferred page struct initialisation. >>> >> >> How much memory does a fadump kernel need? Can we bump up the limits depending >> on the config. I presume when you say fadump kernel you mean kernel with >> FADUMP in the config? >> >> BTW, I would much rather prefer a config based solution that does not select >> DEFERRED_INIT if FADUMP is enabled. > > IIRC the kdump/fadump kernel is typically the same vmlinux as the main > kernel, just with special initrd and boot params. So if you want > deferred init for the main kernel, this would be impractical. Yes. Distros won't build a separate kernel, so it has to work at runtime. cheers
diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c index 3cb3b02a..117faf2 100644 --- a/arch/powerpc/kernel/fadump.c +++ b/arch/powerpc/kernel/fadump.c @@ -318,6 +318,7 @@ int __init fadump_reserve_mem(void) be64_to_cpu(fdm_active->rmr_region.source_len); pr_debug("fadumphdr_addr = %p\n", (void *) fw_dump.fadumphdr_addr); + disable_deferred_meminit(); } else { /* Reserve the memory at the top of memory. */ size = get_fadump_area_size();
Fadump kernel reserves significant number of memory blocks. On a multi-node machine, with CONFIG_DEFFERRED_STRUCT_PAGE support, fadump kernel fails to boot. Fix this by disabling deferred page struct initialisation. Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com> --- arch/powerpc/kernel/fadump.c | 1 + 1 file changed, 1 insertion(+)