Thread (33 messages) flat view 33 messages, 8 authors, 13d ago

Re: [PATCH v2 3/6] mm/powerpc/8xx: constify ptep_get() argument

From: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org>
Date: 2026-08-04 13:09:34
Also in: linux-arm-kernel, linux-fsdevel, linux-mm, lkml


Le 04/08/2026 à 14:59, Lorenzo Stoakes (ARM) a écrit :
On Tue, Aug 04, 2026 at 02:50:19PM +0200, Christophe Leroy (CS GROUP) wrote:
quoted
Hi Lorenzo,

Le 04/08/2026 à 13:13, Lorenzo Stoakes (ARM) a écrit :
quoted
On Mon, Aug 03, 2026 at 05:43:57PM +0100, Pedro Falcato wrote:
quoted
There is no need for write access to the PTE.

Signed-off-by: Pedro Falcato <pfalcato@suse.de>
With below addressed LGTM so:

Reviewed-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
quoted
---
   arch/powerpc/include/asm/nohash/32/pte-8xx.h | 2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/include/asm/nohash/32/pte-8xx.h b/arch/powerpc/include/asm/nohash/32/pte-8xx.h
index e2ea8ba9f8ca..f2bab31040c7 100644
--- a/arch/powerpc/include/asm/nohash/32/pte-8xx.h
+++ b/arch/powerpc/include/asm/nohash/32/pte-8xx.h
@@ -226,7 +226,7 @@ static inline pte_basic_t pte_update(struct mm_struct *mm, unsigned long addr, p

   #ifdef CONFIG_PPC_16K_PAGES
   #define ptep_get ptep_get
-static inline pte_t ptep_get(pte_t *ptep)
+static inline pte_t ptep_get(const pte_t *ptep)
   {
   	pte_basic_t val = READ_ONCE(ptep->pte);
   	pte_t pte = {val, val, val, val};
Worth making these const too (that {val, val, val, val} horrifies me btw :)?
Any suggestion welcome.
I'm being super nitty, all I mean is:

-   	pte_basic_t val = READ_ONCE(ptep->pte);
-  	pte_t pte = {val, val, val, val};
+   	const pte_basic_t val = READ_ONCE(ptep->pte);
+  	const pte_t pte = {val, val, val, val};

:)
I'm fine with that, I was reacting on the "horrifying".
quoted
powerpc 8xx page table is independant on page size. When you use 16k pages,
depending on the address you hit the page for the first time, the HW assist
page table walk will fetch one of four 4k cells in page table that need to
be identical as they all four define the same 16k page. Not sure I'm clear.
No that's clear, thanks!

(I say 'horrifying' because I am looking into RCU page table freeing which this
may complicate, though perhaps not in practice, to be continued :)
A few more details here if needed: 55c8fc3f4930 ("powerpc/8xx: 
reintroduce 16K pages with HW assistance")

Christophe

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