[PATCH] arm64: mm: drop redundant remap of FDT first page
Catalin Marinas
catalin.marinas at arm.com
Tue May 26 11:57:28 PDT 2026
On Thu, May 14, 2026 at 02:01:01AM +0900, Sang-Heon Jeon wrote:
> fixmap_remap_fdt() calls create_mapping_noalloc() to map the first
> page of the FDT to read its magic and totalsize from the header. If
> the FDT does not fit in a single page, it calls create_mapping_noalloc()
> again to map the rest.
>
> The second mapping redundantly covers the first page that was just
> mapped by the first mapping.
>
> Start the second mapping at dt_phys_base + PAGE_SIZE so it only covers
> the pages that have not been mapped yet. No functional change.
>
> Signed-off-by: Sang-Heon Jeon <ekffu200098 at gmail.com>
[...]
> diff --git a/arch/arm64/mm/fixmap.c b/arch/arm64/mm/fixmap.c
> index c5c5425791da..f8aea5572f7c 100644
> --- a/arch/arm64/mm/fixmap.c
> +++ b/arch/arm64/mm/fixmap.c
> @@ -167,8 +167,9 @@ void *__init fixmap_remap_fdt(phys_addr_t dt_phys, int *size, pgprot_t prot)
> return NULL;
>
> if (offset + *size > PAGE_SIZE) {
> - create_mapping_noalloc(dt_phys_base, dt_virt_base,
> - offset + *size, prot);
> + create_mapping_noalloc(dt_phys_base + PAGE_SIZE,
> + dt_virt_base + PAGE_SIZE,
> + offset + *size - PAGE_SIZE, prot);
> }
Is it actually worth it? It's not that we allocate memory here or take a
noticeable time to reach the first pte. I find the current easier to
read.
--
Catalin
More information about the linux-arm-kernel
mailing list