Re: [Linux-ia64] spin_unlock() problem

David Mosberger
2003-04-07T22:58:13Z

>>>>> On 07 Apr 2003 18:09:44 -0400, Jes Sorensen <jes@wildopensource.com> said:

Jes> Quoting section 4.4.7 "Memory Access Ordering", 2nd paragraph,
Jes> it says " .... Release data accesses guarantee that all
Jes> previous data accesses are made visible prior to being made
Jes> visible themselves."

Oops, sorry, I got it exactly backwards. ;-(
So much for giving a "quick" reply...

Jes> The way I understand that, it is possible that a store
Jes> performed after an st.rel may become visible prior to the
Jes> st.rel, like in this example:

Jes> st [r2] = r32 (1)
Jes> st.rel [r3] = r33 (2)
Jes> st [r4] = r34 (3)

Jes> In other words we are only guarantied that [r2] is valid when
Jes> [r3] appears but have no guarantie that [r4] doesn't show up on
Jes> the bus prior to [r3]?

I wouldn't use the word "valid" here, but yes, (2) and (3) are NOT
ordered.

--david