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 >