lkml.org 
[lkml]   [2008]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC patch 08/18] cnt32_to_63 should use smp_rmb()
    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


    \
     
     \ /
      Last update: 2008-11-07 22:25    [W:3.225 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site