Messages in this thread | | | Date | Wed, 27 Nov 2013 09:19:10 -0800 | From | "Paul E. McKenney" <> | Subject | Re: Does Itanium permit speculative stores? |
| |
On Tue, Nov 26, 2013 at 11:55:58PM -0500, Jon Masters wrote: > On 11/11/2013 12:13 PM, Paul E. McKenney wrote: > > Hello, Tony, > > > > Does Itanium permit speculative stores? For example, on Itanium what are > > the permitted outcomes of the following litmus test, where both x and y > > are initially zero? > > > > CPU 0 CPU 1 > > > > r1 = ACCESS_ONCE(x); r2 = ACCESS_ONCE(y); > > if (r1) if (r2) > > ACCESS_ONCE(y) = 1; ACCESS_ONCE(x) = 1; > > > > In particular, is the outcome (r1 == 1 && r2 == 1) possible on Itanium > > given this litmus test? > > > > Thanx, Paul > > > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > Please read the FAQ at http://www.tux.org/lkml/ > > Btw, I was reading through some UEFI docs and noticed a reference to "A > Formal Specification of Intel Itanium Processor Family Memory Ordering", > then remembered this thread. In case it's of use: > > http://www.intel.com/design/itanium/downloads/251429.htm
I have seen this, but there have been too many times when I have fooled myself about what the words mean (with DEC Alpha back in the late 90s being the most impressive example). So while I do learn what I can from them, they are unfortunately not a substitute for asking. ;-)
Besides, some of the Itanium locking code uses instructions that the above manual is silent about.
Thanx, Paul
| |