Messages in this thread | | | Date | Thu, 21 Nov 2013 14:32:30 -0800 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH v2 RFC 1/3] documentation: Add needed ACCESS_ONCE() calls to memory-barriers.txt |
| |
On Thu, Nov 21, 2013 at 11:18:21PM +0100, Peter Zijlstra wrote: > On Thu, Nov 21, 2013 at 02:09:51PM -0800, Paul E. McKenney wrote: > > On Thu, Nov 21, 2013 at 10:55:17PM +0100, Peter Zijlstra wrote: > > > On Thu, Nov 21, 2013 at 01:31:27PM -0800, Paul E. McKenney wrote: > > > > From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> > > > > > > > > The Documentation/memory-barriers.txt file was written before the need > > > > for ACCESS_ONCE() was fully appreciated. It therefore contains no > > > > ACCESS_ONCE() calls, which can be a problem when people lift examples > > > > from it. This commit therefore adds ACCESS_ONCE() calls. > > > > > > So I find the repeated ACCESS_ONCE() significantly detracts from the > > > readability of the text. > > > > > > Can't we simply state that all accesses are assumed single-copy atomic > > > and this can be achieved for naturally aligned words using ACCESS_ONCE() > > > in C/C++ ? > > > > We could, but at the moment I would prefer the decrease in readability > > to the copy-and-paste bugs that omit needed ACCESS_ONCE() calls. > > > > Is there some way to get both ACCESS_ONCE() and readability? An > > abbreviation such as AO()? More easily distinguished variable names? > > Something else? > > Use a form that looks less like C and thus defeats copy/paste?
My concern with that approach is that there is likely to be a large number of people who are likely to be willing and able to transcribe from any reasonable non-C form to ACCESS_ONCE()-free C code. :-/
But maybe you have something specific in mind?
Thanx, Paul
| |