[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3908561D78D1C84285E8C5FCA982C28F31CDCC23@ORSMSX106.amr.corp.intel.com>
Date: Thu, 5 Sep 2013 18:57:08 +0000
From: "Luck, Tony" <tony.luck@...el.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
CC: Heiko Carstens <heiko.carstens@...ibm.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] lockref: remove cpu_relax() again
> Also, it strikes me that ia64 has tons of different versions of
> cmpxchg, and the one you use by default is the one with "acquire"
> semantics
Not "tons", just two. You can ask for "acquire" or "release" semantics,
there is no relaxed option.
Worse still - early processor implementations actually just ignored
the acquire/release and did a full fence all the time. Unfortunately
this meant a lot of badly written code that used .acq when they really
wanted .rel became legacy out in the wild - so when we made a cpu
that strictly did the .acq or .rel ... all that code started breaking - so
we had to back-pedal and keep the "legacy" behavior of a full fence :-(
-Tony
Powered by blists - more mailing lists