Re: [PATCH] x86: Move crashkernel reservation before dma32_reserve_bootmem()
On Fri, Jul 18, 2008 at 2:52 AM, Bernhard Walle [EMAIL PROTECTED] wrote: * Yinghai Lu [2008-07-17 15:50]: + /* +* dma32_reserve_bootmem() allocates bootmem which may conflict +* with the crashkernel command line, so do that before +*/ + reserve_crashkernel(); + #ifdef CONFIG_X86_64 dma32_reserve_bootmem(); #endif @@ -808,7 +814,6 @@ void __init setup_arch(char **cmdline_p) */ find_smp_config(); #endif - reserve_crashkernel(); reserve_ibft_region(); Joe Jin already had another one to move dma32_reserve_bootmem later Commit id? Current status? it seems commit description from you is more good. please create one version move dma32_reserve_boot_mem after reserve_crashkernel and use your commit description. YH ___ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
[PATCH] x86: Move crashkernel reservation before dma32_reserve_bootmem()
On a x86-64 machine (nothing special I could encounter) I had the problem that crashkernel reservation with the usual [EMAIL PROTECTED] failed. While debugging that, I encountered that dma32_reserve_bootmem() reserves a memory region which is in that area. Because dma32_reserve_bootmem() does not rely on a specific offset but crashkernel does, it makes sense to move the crashkernel reservation up a bit. I tested that patch and it works without problems. I don't see any negative effects of that move, but maybe I oversaw something ... While we strictly don't need that patch in 2.6.27 because we have the automatic, dynamic offset detection, it makes sense to also include it here because: - it's easier to get it in -stable then, - many people are still used to the '[EMAIL PROTECTED]' syntax, - not everybody may be using a reloatable kernel. Signed-off-by: Bernhard Walle [EMAIL PROTECTED] --- arch/x86/kernel/setup.c |7 ++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 531b55b..16101c0 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -792,6 +792,12 @@ void __init setup_arch(char **cmdline_p) initmem_init(0, max_pfn); + /* +* dma32_reserve_bootmem() allocates bootmem which may conflict +* with the crashkernel command line, so do that before +*/ + reserve_crashkernel(); + #ifdef CONFIG_X86_64 dma32_reserve_bootmem(); #endif @@ -808,7 +814,6 @@ void __init setup_arch(char **cmdline_p) */ find_smp_config(); #endif - reserve_crashkernel(); reserve_ibft_region(); -- 1.5.6 ___ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
Re: [PATCH] x86: Move crashkernel reservation before dma32_reserve_bootmem()
On Thu, Jul 17, 2008 at 3:15 PM, Bernhard Walle [EMAIL PROTECTED] wrote: On a x86-64 machine (nothing special I could encounter) I had the problem that crashkernel reservation with the usual [EMAIL PROTECTED] failed. While debugging that, I encountered that dma32_reserve_bootmem() reserves a memory region which is in that area. Because dma32_reserve_bootmem() does not rely on a specific offset but crashkernel does, it makes sense to move the crashkernel reservation up a bit. I tested that patch and it works without problems. I don't see any negative effects of that move, but maybe I oversaw something ... While we strictly don't need that patch in 2.6.27 because we have the automatic, dynamic offset detection, it makes sense to also include it here because: - it's easier to get it in -stable then, - many people are still used to the '[EMAIL PROTECTED]' syntax, - not everybody may be using a reloatable kernel. Signed-off-by: Bernhard Walle [EMAIL PROTECTED] --- arch/x86/kernel/setup.c |7 ++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 531b55b..16101c0 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -792,6 +792,12 @@ void __init setup_arch(char **cmdline_p) initmem_init(0, max_pfn); + /* +* dma32_reserve_bootmem() allocates bootmem which may conflict +* with the crashkernel command line, so do that before +*/ + reserve_crashkernel(); + #ifdef CONFIG_X86_64 dma32_reserve_bootmem(); #endif @@ -808,7 +814,6 @@ void __init setup_arch(char **cmdline_p) */ find_smp_config(); #endif - reserve_crashkernel(); reserve_ibft_region(); Joe Jin already had another one to move dma32_reserve_bootmem later YH ___ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
Re: [PATCH] x86: Move crashkernel reservation before dma32_reserve_bootmem()
On Sun, Jul 13, 2008 at 08:49:44PM +0200, Bernhard Walle wrote: From: Bernhard Walle [EMAIL PROTECTED] On a x86-64 machine (nothing special I could encounter) I had the problem that crashkernel reservation with the usual [EMAIL PROTECTED] failed. While debugging that, I encountered that dma32_reserve_bootmem() reserves a memory region which is in that area. Because dma32_reserve_bootmem() does not rely on a specific offset but crashkernel does, it makes sense to move the crashkernel reservation up a bit. I tested that patch and it works without problems. I don't see any negative effects of that move, but maybe I oversaw something ... While the long-term solution is to make the crashkernel reservation dynamic (which is already done in -tip), this bug should be fixed also short-term for 2.6.26 (or 2.6.26-stable if it's too short), and that's why I made that patch. Signed-off-by: Bernhard Walle [EMAIL PROTECTED] Signed-off-by: Bernhard Walle [EMAIL PROTECTED] --- arch/x86/kernel/setup_64.c |7 ++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/arch/x86/kernel/setup_64.c b/arch/x86/kernel/setup_64.c index 6dff128..158cefe 100644 --- a/arch/x86/kernel/setup_64.c +++ b/arch/x86/kernel/setup_64.c @@ -444,6 +444,12 @@ void __init setup_arch(char **cmdline_p) contig_initmem_init(0, end_pfn); #endif + /* + * dma32_reserve_bootmem() allocates bootmem which may conflict + * with the crashkernel command line, so do that before + */ + reserve_crashkernel(); + dma32_reserve_bootmem(); #ifdef CONFIG_ACPI_SLEEP @@ -484,7 +490,6 @@ void __init setup_arch(char **cmdline_p) } } #endif - reserve_crashkernel(); reserve_ibft_region(); Looks good to me. Acked-by: Vivek Goyal [EMAIL PROTECTED] Thanks Vivek ___ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
Re: [PATCH] x86: Move crashkernel reservation before dma32_reserve_bootmem()
* Vivek Goyal [2008-07-14 09:30]: On Sun, Jul 13, 2008 at 08:49:44PM +0200, Bernhard Walle wrote: From: Bernhard Walle [EMAIL PROTECTED] On a x86-64 machine (nothing special I could encounter) I had the problem that crashkernel reservation with the usual [EMAIL PROTECTED] failed. While debugging that, I encountered that dma32_reserve_bootmem() reserves a memory region which is in that area. Because dma32_reserve_bootmem() does not rely on a specific offset but crashkernel does, it makes sense to move the crashkernel reservation up a bit. I tested that patch and it works without problems. I don't see any negative effects of that move, but maybe I oversaw something ... While the long-term solution is to make the crashkernel reservation dynamic (which is already done in -tip), this bug should be fixed also short-term for 2.6.26 (or 2.6.26-stable if it's too short), and that's why I made that patch. Signed-off-by: Bernhard Walle [EMAIL PROTECTED] Signed-off-by: Bernhard Walle [EMAIL PROTECTED] --- arch/x86/kernel/setup_64.c |7 ++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/arch/x86/kernel/setup_64.c b/arch/x86/kernel/setup_64.c index 6dff128..158cefe 100644 --- a/arch/x86/kernel/setup_64.c +++ b/arch/x86/kernel/setup_64.c @@ -444,6 +444,12 @@ void __init setup_arch(char **cmdline_p) contig_initmem_init(0, end_pfn); #endif + /* +* dma32_reserve_bootmem() allocates bootmem which may conflict +* with the crashkernel command line, so do that before +*/ + reserve_crashkernel(); + dma32_reserve_bootmem(); #ifdef CONFIG_ACPI_SLEEP @@ -484,7 +490,6 @@ void __init setup_arch(char **cmdline_p) } } #endif - reserve_crashkernel(); reserve_ibft_region(); Looks good to me. Acked-by: Vivek Goyal [EMAIL PROTECTED] Greg, would that be something for -stable? Bernhard -- Bernhard Walle, SUSE LINUX Products GmbH, Architecture Development ___ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
Re: [PATCH] x86: Move crashkernel reservation before dma32_reserve_bootmem()
Hi, Bernhard Walle wrote: From: Bernhard Walle [EMAIL PROTECTED] On a x86-64 machine (nothing special I could encounter) I had the problem that crashkernel reservation with the usual [EMAIL PROTECTED] failed. While debugging that, I encountered that dma32_reserve_bootmem() reserves a memory region which is in that area. I tested your patch on x86_64 linux-2.6.26, and it works fine. Good catching, Bernhard :-) Before applying Bernhard's patch, kernel output the following message and could not reserve the memory area for kdump. So kdump did not work. Jul 14 11:15:48 localhost kernel: Bootmem setup node 0 -00017000 Jul 14 11:15:48 localhost kdump: No crashkernel parameter specified for running kernel Jul 14 11:15:48 localhost kernel: NODE_DATA [f000 - 00014fff] Jul 14 11:15:48 localhost kdump: failed to start up Jul 14 11:15:48 localhost kernel: bootmap [00015000 - 00042fff] pages 2e Jul 14 11:15:48 localhost kernel: early res: 0 [0-fff] BIOS data page Jul 14 11:15:48 localhost kernel: early res: 1 [6000-7fff] TRAMPOLINE Jul 14 11:15:48 localhost kernel: early res: 2 [20-9b1c97] TEXT DATA BSS Jul 14 11:15:48 localhost kernel: early res: 3 [37ce4000-37fef146] RAMDISK Jul 14 11:15:48 localhost kernel: early res: 4 [9b400-f] BIOS reserved Jul 14 11:15:48 localhost kernel: early res: 5 [8000-efff] PGTABLE Jul 14 11:15:48 localhost kernel: crashkernel reservation failed - memory is in use After applying Bernhard's patch, kernel outputs the following message, and kdump works. Jul 14 11:27:39 localhost kernel: Bootmem setup node 0 -00017000 Jul 14 11:27:39 localhost kernel: NODE_DATA [f000 - 00014fff] Jul 14 11:27:39 localhost kernel: bootmap [00015000 - 00042fff] pages 2e Jul 14 11:27:39 localhost kernel: early res: 0 [0-fff] BIOS data page Jul 14 11:27:39 localhost kernel: early res: 1 [6000-7fff] TRAMPOLINE Jul 14 11:27:39 localhost kernel: early res: 2 [20-9b1c97] TEXT DATA BSS Jul 14 11:27:39 localhost kernel: early res: 3 [37ce4000-37fef14a] RAMDISK Jul 14 11:27:39 localhost kernel: early res: 4 [9b400-f] BIOS reserved Jul 14 11:27:39 localhost kernel: early res: 5 [8000-efff] PGTABLE Jul 14 11:27:39 localhost kernel: Reserving 128MB of memory at 16MB for crashkernel (System RAM: 5888MB) Because dma32_reserve_bootmem() does not rely on a specific offset but crashkernel does, it makes sense to move the crashkernel reservation up a bit. I tested that patch and it works without problems. I don't see any negative effects of that move, but maybe I oversaw something ... While the long-term solution is to make the crashkernel reservation dynamic (which is already done in -tip), this bug should be fixed also short-term for 2.6.26 (or 2.6.26-stable if it's too short), and that's why I made that patch. I hope so. Signed-off-by: Bernhard Walle [EMAIL PROTECTED] Signed-off-by: Bernhard Walle [EMAIL PROTECTED] Tested-by: Ken'ichi Ohmichi [EMAIL PROTECTED] Thanks Ken'ichi Ohmichi --- arch/x86/kernel/setup_64.c |7 ++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/arch/x86/kernel/setup_64.c b/arch/x86/kernel/setup_64.c index 6dff128..158cefe 100644 --- a/arch/x86/kernel/setup_64.c +++ b/arch/x86/kernel/setup_64.c @@ -444,6 +444,12 @@ void __init setup_arch(char **cmdline_p) contig_initmem_init(0, end_pfn); #endif + /* + * dma32_reserve_bootmem() allocates bootmem which may conflict + * with the crashkernel command line, so do that before + */ + reserve_crashkernel(); + dma32_reserve_bootmem(); #ifdef CONFIG_ACPI_SLEEP @@ -484,7 +490,6 @@ void __init setup_arch(char **cmdline_p) } } #endif - reserve_crashkernel(); reserve_ibft_region(); ___ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec