On 09/26/16 01:55, Peter Zijlstra wrote:
On Sun, Sep 25, 2016 at 07:08:45PM -0700, Bart Van Assche wrote:
A quote from Documentation/memory_barriers.txt:
For example, because 'jiffies' is marked volatile, it is never
necessary to say READ_ONCE(jiffies). The reason for this is
that READ_ONCE() and WRITE_ONCE() are implemented as volatile
casts, which has no effect when its argument is already marked
volatile.
Hence change all 'READ_ONCE(jiffies)' occurrences into 'jiffies'.
So I'm not a huge fan of this patch. Yes its technically pointless, but
it does convey intent. See the READ_ONCE() as a comment if you will.
Hello Peter,
Are you aware that the scheduler code is the only code that uses
READ_ONCE() to read 'jiffies', and that even in the scheduler not all
'jiffies' reads use READ_ONCE()? This patch makes the scheduler code
more consistent and easier to read without affecting the generated code.
Bart.