Re: RCU: non-atomic assignment to long/pointer variables in gcc

2013-01-15 Thread Paul E. McKenney
On Tue, Jan 15, 2013 at 05:07:50PM +0400, Konstantin Khlebnikov wrote: > Paul E. McKenney wrote: > >On Tue, Jan 15, 2013 at 02:30:32PM +0400, Konstantin Khlebnikov wrote: > >>Documentation/atomic_ops.txt (182dd4b277177e8465ad11cd9f85f282946b5578) > >>says that pointers, longs, ints, and chars are s

Re: RCU: non-atomic assignment to long/pointer variables in gcc

2013-01-15 Thread Konstantin Khlebnikov
Paul E. McKenney wrote: On Tue, Jan 15, 2013 at 02:30:32PM +0400, Konstantin Khlebnikov wrote: Documentation/atomic_ops.txt (182dd4b277177e8465ad11cd9f85f282946b5578) says that pointers, longs, ints, and chars are stored and loaded atomically. But GCC actually may split assignment to 'long' var

Re: RCU: non-atomic assignment to long/pointer variables in gcc

2013-01-15 Thread Paul E. McKenney
On Tue, Jan 15, 2013 at 02:30:32PM +0400, Konstantin Khlebnikov wrote: > Documentation/atomic_ops.txt (182dd4b277177e8465ad11cd9f85f282946b5578) > says that pointers, longs, ints, and chars are stored and loaded atomically. > > But GCC actually may split assignment to 'long' variable into two > i

RCU: non-atomic assignment to long/pointer variables in gcc

2013-01-15 Thread Konstantin Khlebnikov
Documentation/atomic_ops.txt (182dd4b277177e8465ad11cd9f85f282946b5578) says that pointers, longs, ints, and chars are stored and loaded atomically. But GCC actually may split assignment to 'long' variable into two instructions. see example in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55981 GC