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

Michael Ellerman
2009-08-24T13:44:03Z

[-- Attachment #1: Type: text/plain, Size: 1939 bytes --]

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.

To be honest I don't see why this logic goes in the kernel. It seems to
me that it's policy how much memory you devote to the crash kernel vs
the production kernel. It depends on what kind of crash kernel you're
loading, a minimal UP dump kernel, or a full-featured SMP behemoth, An
it depends on how much memory you're willing to leave idle in the
off-chance you crash.

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?

Also the numbers seem a bit arbitrary. 4GB ? 256M ? 1/32? I don't think
we really want to be blowing 32GB on a crash kernel, even if we do have
1T of RAM :)

cheers

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 197 bytes --]