makedumpfile bug with ppc64 CONFIG_SPARSEMEM_EXTREME
Mahesh Jagannath Salgaonkar
mahesh at linux.vnet.ibm.com
Thu Jan 17 04:36:23 EST 2013
On 01/11/2013 02:39 AM, Dave Anderson wrote:
>
>
> ----- Original Message -----
>>
>> Our QA group recently ran into a makedumpfile problem while
>> testing kdump/makedumpfile w/upstream 3.7.1 kernels, which
>> had to do with the filtering of pages on a 12GB ppc64 system.
>>
> ... [ cut ] ...
>>
>> I haven't checked why the original math fails in the case of the
>> ppc64 kernel, while it does not fail in a CONFIG_SPARSEMEM_EXTREME
>> x86_64 kernel, for example. (page size maybe?) But obviously the
>> simpler dimemsion-check is a better way to do it.
>>
>> Of course, within the current constraints of makedumpfile, it's not
>> that easy. Ideally the kernel could pass the configuration in
>> the vmcoreinfo with a VMCOREINFO_CONFIG(name). But anyway, I'll leave
>> that up to you.
>>
>> Thanks,
>> Dave
>
> It's presumably being seen in 3.7.1 because of this commit:
>
> $ git log -p arch/powerpc/include/asm/sparsemem.h
> commit 048ee0993ec8360abb0b51bdf8f8721e9ed62ec4
> Author: Aneesh Kumar K.V <aneesh.kumar at linux.vnet.ibm.com>
> Date: Mon Sep 10 02:52:55 2012 +0000
>
> powerpc/mm: Add 64TB support
>
> Increase max addressable range to 64TB. This is not tested on
> real hardware yet.
>
> Reviewed-by: Paul Mackerras <paulus at samba.org>
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.vnet.ibm.com>
> Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
>
> diff --git a/arch/powerpc/include/asm/sparsemem.h b/arch/powerpc/include/asm/sparsemem.h
> index 0c5fa31..f6fc0ee 100644
> --- a/arch/powerpc/include/asm/sparsemem.h
> +++ b/arch/powerpc/include/asm/sparsemem.h
> @@ -10,8 +10,8 @@
> */
> #define SECTION_SIZE_BITS 24
>
> -#define MAX_PHYSADDR_BITS 44
> -#define MAX_PHYSMEM_BITS 44
> +#define MAX_PHYSADDR_BITS 46
> +#define MAX_PHYSMEM_BITS 46
>
> #endif /* CONFIG_SPARSEMEM */
>
> $ git describe --contains 048ee0993ec8360abb0b51bdf8f8721e9ed62ec4
> v3.7-rc1~108^2~32
> $
>
> Dave
Similar issue was seen on s390x last year
(http://lists.infradead.org/pipermail/kexec/2011-December/005905.html).
The change in
MAX_PHYSMEM_BITS define in kernel causes sparsemem extreme check to fail
in makedumpfile. This needs to be fixed in the same way as it was on
s390x. Will post a fix patch for makedumpfile after testing it on
upstream kernel.
Thanks,
-Mahesh.
More information about the kexec
mailing list