[PATCH RESEND] ARM: kdump: 2nd kernel should use strict pfn_valid in SPARSEMEM platform
takahiro.akashi at linaro.org
Wed May 28 21:54:02 PDT 2014
Can we assume that HAVE_ARCH_PFN_VALID is alway yes on arm64?
Looking at arm64/Kconfig,
def_bool y if SPARSEMEM
def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
is this intentional?
On 05/28/2014 05:44 PM, Wang Nan wrote:
> This patch removes an irrational limitation for crash dump kernel on ARM
> platform with SPARSEMEM enabled.
> Without this patch, crash reservation area for a crash dump kernel with
> SPARSEMEM selected must occupy a full section plus 1MiB. If not,
> elfcorehdr and some memory space used by the first kernel will unable to
> get accessed. This is caused by pfn_valid: fast pfn_valid ragards any
> pfn in a valid section as valid and prevents it to be ioremapped.
> This limitation wastes memory, because sections are always large and
> crash dump kernel should be as small as possible.
> This patch selects HAVE_ARCH_PFN_VALID for CRASH_DUMP, makes crash dump
> kernel to use strict version of pfn_valid().
> Signed-off-by: Wang Nan <wangnan0 at huawei.com>
> This is the third time I post this patch. The previous records can be
> retrived from:
> Different from previous version, this patch select HAVE_ARCH_PFN_VALID
> right after CRASH_DUMP config entry.
> arch/arm/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index c57ddcb..d5ffbb1 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -2160,6 +2160,7 @@ config ATAGS_PROC
> config CRASH_DUMP
> bool "Build kdump crash kernel (EXPERIMENTAL)"
> + select HAVE_ARCH_PFN_VALID if SPARSEMEM
> Generate crash dump after being started by kexec. This should
> be normally only set in special crash dump kernels which are
More information about the kexec