Message ID | 524164ED.3060201@cn.fujitsu.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
On Tue, Sep 24, 2013 at 06:09:49PM +0800, Zhang Yanfei wrote: > From: Tang Chen <tangchen@cn.fujitsu.com> > > Memory reserved for crashkernel could be large. So we should not allocate > this memory bottom up from the end of kernel image. > > When SRAT is parsed, we will be able to know whihc memory is hotpluggable, > and we can avoid allocating this memory for the kernel. So reorder > reserve_crashkernel() after SRAT is parsed. > > Signed-off-by: Tang Chen <tangchen@cn.fujitsu.com> > Reviewed-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.com> Assuming this was tested to work. Acked-by: Tejun Heo <tj@kernel.org> Thanks.
On 09/24/2013 08:34 PM, Tejun Heo wrote: > On Tue, Sep 24, 2013 at 06:09:49PM +0800, Zhang Yanfei wrote: >> From: Tang Chen <tangchen@cn.fujitsu.com> >> >> Memory reserved for crashkernel could be large. So we should not allocate >> this memory bottom up from the end of kernel image. >> >> When SRAT is parsed, we will be able to know whihc memory is hotpluggable, >> and we can avoid allocating this memory for the kernel. So reorder >> reserve_crashkernel() after SRAT is parsed. >> >> Signed-off-by: Tang Chen <tangchen@cn.fujitsu.com> >> Reviewed-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.com> > > Assuming this was tested to work. > > Acked-by: Tejun Heo <tj@kernel.org> Thanks. > > Thanks. >
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index f0de629..36cfce3 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -1120,8 +1120,6 @@ void __init setup_arch(char **cmdline_p) acpi_initrd_override((void *)initrd_start, initrd_end - initrd_start); #endif - reserve_crashkernel(); - vsmp_init(); io_delay_init(); @@ -1136,6 +1134,12 @@ void __init setup_arch(char **cmdline_p) initmem_init(); memblock_find_dma_reserve(); + /* + * Reserve memory for crash kernel after SRAT is parsed so that it + * won't consume hotpluggable memory. + */ + reserve_crashkernel(); + #ifdef CONFIG_KVM_GUEST kvmclock_init(); #endif