lkml.org 
[lkml]   [2010]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC][PATCH 6/8] mm: handle_speculative_fault()
    On Tue, 5 Jan 2010, Linus Torvalds wrote:

    > So a spinlock is as cheap as an atomic when there is no contention (which
    > is the common single-thread case - the real cost of both lock and atomic
    > is simply the fact that CPU serialization is expensive), but when there is
    > actual lock contention, I bet the atomic xadd is going to be shown to be
    > superior.
    >
    > Remember: we commonly claim that 'spin_unlock' is basically free on x86 -
    > and that's true, but it is _only_ true for the uncontended state.

    Its also free if the MESI algorithm has been tuned in such a way that the
    exclusive cacheline that was just acquired is not immediately released
    after a single access.

    If the critical section protected by the spinlock is small then the
    delay will keep the cacheline exclusive until we hit the unlock. This
    is the case here as far as I can tell.




    \
     
     \ /
      Last update: 2010-01-05 19:17    [W:0.032 / U:32.880 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site