[PATCH RESEND] ARM: kdump: 2nd kernel should use strict pfn_valid in SPARSEMEM platform

AKASHI Takahiro takahiro.akashi at linaro.org
Wed May 28 21:54:02 PDT 2014


Catalin, Will

Can we assume that HAVE_ARCH_PFN_VALID is alway yes on arm64?
Looking at arm64/Kconfig,
config ARCH_HAS_HOLES_MEMORYMODEL
	def_bool y if SPARSEMEM
...
config HAVE_ARCH_PFN_VALID
	def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM

is this intentional?

-Takahiro AKASHI

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:
>
> http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/256498.html
> http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/257472.html
>
> 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
>   	help
>   	  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 linux-arm-kernel mailing list