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

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

From: "Lorenzo Stoakes (ARM)" <ljs@kernel.org>
Date: 2026-08-04 12:59:39
Also in: linux-arm-kernel, linux-fsdevel, linux-mm, lkml

On Tue, Aug 04, 2026 at 02:50:19PM +0200, Christophe Leroy (CS GROUP) wrote:
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};

:)
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 :)
Christophe
--
Cheers, Lorenzo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help