Re: Does Itanium permit speculative stores?

From: Paul E. McKenney
Date: Wed Nov 27 2013 - 17:06:47 EST


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@xxxxxxxxxxxxxxx
> > 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/