[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20141204220657.GB25340@linux.vnet.ibm.com>
Date: Thu, 4 Dec 2014 14:06:57 -0800
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: One Thousand Gnomes <gnomes@...rguk.ukuu.org.uk>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
"linux-arch@...r.kernel.org" <linux-arch@...r.kernel.org>,
Davidlohr Bueso <dave@...olabs.net>,
Dmitry Vyukov <dvyukov@...gle.com>,
Peter Zijlstra <peterz@...radead.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...nel.org>
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists