Thanks Paul! On Sun, Jan 3, 2021 at 5:52 AM Paul E. McKenney <paulmck@xxxxxxxxxx> wrote: > > On Sun, Jan 03, 2021 at 12:04:24AM +0200, Daniel Nitzan wrote: > > In 15.5.1 (Alpha) - In regard to the following statement: "Yes, this > > does mean that Alpha can in effect fetch the data pointed to before it > > fetches the pointer itself, strange but true." > > I'd appreciate it if someone could clarify what this means. I don't > > understand this statement in light of the actual data-dependent > > reordering presented in this section, i.e. the pointer itself is > > fetched, points to the correct location in memory, but the data is > > stale. > > Yes, your last statement is equivalent. Either way, the reading CPU sees > the new value of the pointer and the old value of the pointed-to data. > You can look at it either as counter-intuitive reordering (as I did) > or as counter-intuitive stale data (as you did). > > The key point is that these values are not in a single location, but > are instead replicated across the CPUs' caches. Stores are therefore > not atomic unless the hardware goes to a lot of trouble to make them > appear to be atomic. > > Thanx, Paul