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:
>> Hi Lorenzo,
>>
>> Le 04/08/2026 à 13:13, Lorenzo Stoakes (ARM) a écrit :
>>> On Mon, Aug 03, 2026 at 05:43:57PM +0100, Pedro Falcato wrote:
>>>> There is no need for write access to the PTE.
>>>>
>>>> Signed-off-by: Pedro Falcato <[email protected]>
>>>
>>> With below addressed LGTM so:
>>>
>>> Reviewed-by: Lorenzo Stoakes (ARM) <[email protected]>
>>>
>>>> ---
>>>> 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".
>
>>
>> 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