Thread (25 messages) 25 messages, 4 authors, 2021-02-19

Re: [PATCH v12 01/14] ARM: mm: add missing pud_page define to 2-level page tables

From: Nicholas Piggin <npiggin@gmail.com>
Date: 2021-02-03 03:22:56
Also in: linux-arm-kernel, linux-mm, linuxppc-dev, lkml

Excerpts from Russell King - ARM Linux admin's message of February 2, 2021 9:13 pm:
On Tue, Feb 02, 2021 at 09:05:02PM +1000, Nicholas Piggin wrote:
quoted
diff --git a/arch/arm/include/asm/pgtable.h b/arch/arm/include/asm/pgtable.h
index c02f24400369..d63a5bb6bd0c 100644
--- a/arch/arm/include/asm/pgtable.h
+++ b/arch/arm/include/asm/pgtable.h
@@ -166,6 +166,9 @@ extern struct page *empty_zero_page;
 
 extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
 
+#define pud_page(pud)		pmd_page(__pmd(pud_val(pud)))
+#define pud_write(pud)		pmd_write(__pmd(pud_val(pud)))
As there is no PUD, does it really make sense to return a valid
struct page (which will be the PTE page) for pud_page(), which is
several tables above?
There is no PUD on 3-level either, and the pgtable-nopud.h which it uses 
also passes down p4d_page to pud_page, so by convention...

Although in this case at least for my next patch it won't acutally use 
pud_page unless it's a leaf entry so maybe it shouldn't get called
anyway.

Thanks,
Nick
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help