Messages in this thread | | | Date | Thu, 4 Dec 2014 14:06:57 -0800 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH RFC] locking: Add volatile to arch_spinlock_t structures |
| |
On Thu, Dec 04, 2014 at 09:45:46PM +0000, One Thousand Gnomes wrote: > > anywhere in that translation unit. After all, any non-static function > > in that translation unit might be called from some other translation > > unit that -did- use locking or whatever. > > > > I will let you know how it goes. ;-) > > It breaks DEC10 ;-)
To say nothing of CDC 6600 systems lacking the compare-move unit. ;-)
> If there is kickback over things like optimisation perhaps the gcc > maintainers could at least consider something like > > int __attribute((threadsafe)) fred; > > ??
Not needed for recent gcc versions -- both the C11 and C++11 standards require that different threads be permitted to independently access different variables, where "different" means "no bits of the two variables residing in the same byte". From what I can see, this would mean that a conforming pre-EV56 Alpha C11 compiler would need to use LDL_L and STL_C to carry out 8-bit and 16-bit stores. ;-)
Thanx, Paul
| |