On Mon, Apr 04, 2022 at 05:46:10PM -0700, Vijay Balakrishna wrote: > commit 031495635b4668f94e964e037ca93d0d38bfde58 upstream. > > The following patches resulted in deferring crash kernel reservation to > mem_init(), mainly aimed at platforms with DMA memory zones (no IOMMU), > in particular Raspberry Pi 4. > > commit 1a8e1cef7603 ("arm64: use both ZONE_DMA and ZONE_DMA32") > commit 8424ecdde7df ("arm64: mm: Set ZONE_DMA size based on devicetree's dma-ranges") > commit 0a30c53573b0 ("arm64: mm: Move reserve_crashkernel() into mem_init()") > commit 2687275a5843 ("arm64: Force NO_BLOCK_MAPPINGS if crashkernel reservation is required") > > Above changes introduced boot slowdown due to linear map creation for > all the memory banks with NO_BLOCK_MAPPINGS, see discussion[1]. The proposed > changes restore crash kernel reservation to earlier behavior thus avoids > slow boot, particularly for platforms with IOMMU (no DMA memory zones). > > Tested changes to confirm no ~150ms boot slowdown on our SoC with IOMMU > and 8GB memory. Also tested with ZONE_DMA and/or ZONE_DMA32 configs to confirm > no regression to deferring scheme of crash kernel memory reservation. > In both cases successfully collected kernel crash dump. > > [1] https://lore.kernel.org/all/9436d033-579b-55fa-9b00-6f4b661c2dd7@xxxxxxxxxxxxxxxxxxx/ > > Signed-off-by: Vijay Balakrishna <vijayb@xxxxxxxxxxxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Reviewed-by: Pasha Tatashin <pasha.tatashin@xxxxxxxxxx> > Link: https://lore.kernel.org/r/1646242689-20744-1-git-send-email-vijayb@xxxxxxxxxxxxxxxxxxx > [will: Add #ifdef CONFIG_KEXEC_CORE guards to fix 'crashk_res' references in allnoconfig build] > Signed-off-by: Will Deacon <will@xxxxxxxxxx> > --- > arch/arm64/mm/init.c | 36 ++++++++++++++++++++++++++++++++---- > arch/arm64/mm/mmu.c | 32 +++++++++++++++++++++++++++++++- > 2 files changed, 63 insertions(+), 5 deletions(-) Now queued up, thanks. greg k-h