Messages in this thread | | | Date | Tue, 19 Sep 2006 13:01:16 -0700 | From | "Paul E. McKenney" <> | Subject | Re: Uses for memory barriers |
| |
On Wed, Sep 20, 2006 at 05:48:00AM +1000, Nick Piggin wrote: > Paul E. McKenney wrote: > >On Wed, Sep 20, 2006 at 04:48:45AM +1000, Nick Piggin wrote: > >Sooner or later, the cacheline comes to the store queue, defining > >the ordering. All changes that occurred in the store queue while > >waiting for the cache line appear to other CPUs as having happened > >in very quick succession while the cacheline resides with the store > >queue in question. > > > >So, what am I missing? > > Maybe I'm missing something. But if the same CPU loads the value > before the store becomes visible to cache coherency, it might see > the value out of any order any of the other CPUs sees.
Agreed. But the CPUs would have to refer to a fine-grained synchronized timebase or to some other variable in order to detect the fact that there were in fact multiple different values for the same variable at the same time (held in the different store queues).
If the CPUs looked only at that one single variable being stored to, could they have inconsistent opinions about the order of values that this single variable took on? My belief is that they could not.
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/
| |