Re: [Patch 6/8] powerpc: add CONFIG_KEXEC_AUTO_RESERVE

From: Amerigo Wang
Date: Tue Aug 25 2009 - 02:38:01 EST


M. Mohan Kumar wrote:
On Mon, Aug 24, 2009 at 11:44:03PM +1000, Michael Ellerman wrote:
On Fri, 2009-08-21 at 02:55 -0400, Amerigo Wang wrote:
Introduce a new config option KEXEC_AUTO_RESERVE for powerpc.

Index: linux-2.6/arch/powerpc/Kconfig
===================================================================
--- linux-2.6.orig/arch/powerpc/Kconfig
+++ linux-2.6/arch/powerpc/Kconfig
@@ -346,6 +346,17 @@ config KEXEC
support. As of this writing the exact hardware interface is
strongly in flux, so no good recommendation can be made.
+config KEXEC_AUTO_RESERVE
+ bool "automatically reserve memory for kexec kernel"
+ depends on KEXEC
+ default y
+ ---help---
+ Automatically reserve memory for a kexec kernel, so that you don't
+ need to specify numbers for the "crashkernel=X@Y" boot option,
+ instead you can use "crashkernel=auto". To make this work, you need
+ to have more than 4G memory. On PPC, 256M is reserved, 1/32 memory
+ on PPC64, but it will not exceed 1T/32.
That aside, I don't see how this will be useful in practice, if it only
works for memory sizes over 4G? Or are we saying that people with less
than 4G don't need crash kernels? If we're not saying that, those users,
or those users' distros, still need to do some logic to work out if they
have < 4GB of memory and if so pick a crash kernel size. So why can't
they pick the size in the > 4GB case also?

True, I wanted to test the patch and when tested on a ppc64 machine which
has RAM less than 4GB, I have to modify arch_default_crash_size routine to
return 256MB (I didn't have a PPC64 machine with more than 4GB RAM handy).
So its better to consider machines with less than 4GB RAM also.

OK, how about 2G on ppc? Is it safe to reserve 256M when I have 2G?

PPC64 crashkernel base is always 32MB. So at least ppc64 code should have
its own arch_default_crash_base to return 32MB to avoid the kernel warning
message "Crash kernel location must be 0x2000000"
Hmm, good point, how about KDUMP_KERNELBASE? It looks fine for both ppc and ppc64.

Thanks!


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