Thread (4 messages) 4 messages, 2 authors, 2026-05-27

Re: [PATCH] arm64: mm: drop redundant remap of FDT first page

From: Sang-Heon Jeon <hidden>
Date: 2026-05-27 12:37:06

On Wed, May 27, 2026 at 3:57 AM Catalin Marinas [off-list ref] wrote:
On Thu, May 14, 2026 at 02:01:01AM +0900, Sang-Heon Jeon wrote:
quoted
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 <redacted>
[...]
quoted
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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help