Subject: Re: [PATCH for-4.8 03/12] powerpc/mm: use _raw variant of page table accessors

From: Anton Blanchard <[email-masked]>
Date: Sun, 17 Jul 2016 15:22:12 +1000

Hi David,

> > This switch few of the page table accessor to use the __raw variant
> > and does the cpu to big endian conversion of constants. This helps
> > in generating better code.  
> 
> It might be better to say that checks for a value being 0 don't depend
> on the endianness.
> 
> In which case you want a function that return !!xxx_raw() itself.
> 
> OTOH it might be worth finding out why the cpu's byteswapping memory
> accessors aren't used - which might save the byteswap instruction
> sequence in all paths.

There was a discussion about this on the list. In short, we found a
couple of reasons. Accesses often use READ_ONCE() which might cause
problems. The bigger issue is if the pte is accessed via larx/stcx. We
have no byte reversed larx/stcx instructions.

Anton