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

Amerigo Wang
2009-08-25T06:37:12Z

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!