[PATCH] arm64: mm: drop redundant remap of FDT first page
Sang-Heon Jeon
ekffu200098 at gmail.com
Wed May 27 05:36:38 PDT 2026
On Wed, May 27, 2026 at 3:57 AM Catalin Marinas <catalin.marinas at arm.com> wrote:
>
> 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.
Fair point. This is just a minor cleanup on my side.
If you feel the original reads better, happy to drop this patch.
Thanks for reviewing, Catalin.
Best Regards
Sang-Heon Jeon
> --
> Catalin
More information about the linux-arm-kernel
mailing list