Re: [PATCH 1/3] sched, timer: Remove usages of ACCESS_ONCE in the scheduler

Peter Zijlstra
2015-04-16T19:02:31Z

On Thu, Apr 16, 2015 at 08:24:27PM +0200, Ingo Molnar wrote:
> Yes ... but that still leaves this weird feeling that it's really
> still a bit wrong because it's not proper parallel code, we just
> reduced the probability of the remaining races radically. And it's not
> like GCC (or any compiler) does load tearing or even store tearing
> under normal -O2 for such code patterns, right?

I think Paul once caught GCC doing something silly, but typically no.
The re-loads however have been frequently observed.

> > And its not like they really cost anything.
>
> That's true.
>
> Would it make sense to add a few comments to the seq field definition
> site(s), about how it's supposed to be accessed - or to the
> READ_ONCE()/WRITE_ONCE() sites, to keep people from wondering?

For sure, can do a comment no problem.