On Fri, 7 Nov 2008, Mathieu Desnoyers wrote: > First off, read hw cnt low _is_ an uncached memory read (this is the > mmio read). __m_cnt_hi is a cached read, and therefore can be delayed if > the cache-line is busy. And we have no control on how much time can pass > between the two reads given the CPU may stall waiting for a cache-line. > > So the scenario above happens if CPU A have __m_cnt_hi in its cacheline, > but for come reason CPU B have to defer the cacheline read of __m_cnt_hi > due to heavy cacheline traffic and decides to proceed to mmio read > before the cacheline has been brought to the CPU because "hey, there is > no data dependency between those two reads !". OK that makes sense. Nicolas -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html