[PATCH v3 0/3] arm64: mm: Do not defer reserve_crashkernel()

Kefeng Wang wangkefeng.wang at huawei.com
Wed Apr 27 05:41:43 PDT 2022


Hi Catalin and Will, any comments, thanks.

On 2022/4/11 17:24, Kefeng Wang wrote:
> Commit 031495635b46 ("arm64: Do not defer reserve_crashkernel() for
> platforms with no DMA memory zones"), this lets the kernel benifit
> due to BLOCK_MAPPINGS, we could do more if ZONE_DMA and ZONE_DMA32
> enabled.
>
> 1) Don't defer reserve_crashkernel() if only ZONE_DMA32
> 2) Don't defer reserve_crashkernel() if ZONE_DMA with dma_force_32bit
>     kernel parameter(newly added)
>
> Here is another case to show the benefit of the block mapping.
>
> Unixbench benchmark result shows between the block mapping and page mapping.
> ----------------+------------------+-------------------
>          	| block mapping    |   page mapping
> ----------------+------------------+-------------------
> Process Creation|  5,030.7         |    4,711.8
> (in unixbench)  |                  |
> ----------------+------------------+-------------------
>
> note: RODATA_FULL_DEFAULT_ENABLED is not enabled
>
> v3:
> - renaming crashkernel_could_early_reserve() to crashkernel_early_reserve()
> - drop dma32_phys_limit, directly use max_zone_phys(32)
> - fix no previous prototype issue
> - add RB of Vijay to patch2/3
> v2 resend:
> - fix build error reported-by lkp
> v2:
> - update patch1 according to Vijay and Florian, and RB of Vijay
> - add new patch2
>
> Kefeng Wang (3):
>    arm64: mm: Do not defer reserve_crashkernel() if only ZONE_DMA32
>    arm64: mm: Don't defer reserve_crashkernel() with dma_force_32bit
>    arm64: mm: Cleanup useless parameters in zone_sizes_init()
>
>   arch/arm64/include/asm/kexec.h |  1 +
>   arch/arm64/mm/init.c           | 60 ++++++++++++++++++++++++----------
>   arch/arm64/mm/mmu.c            |  6 ++--
>   3 files changed, 46 insertions(+), 21 deletions(-)
>



More information about the linux-arm-kernel mailing list