• Nathan Bronson's avatar
    minor tweak to MicroLock slow path · e756d07c
    Nathan Bronson authored
    Summary:This diff uses the x86 "pause" instruction or its equivalent when
    spinning in the MicroLock slow loop.  This gives a hint to the processor
    that it should devote more resources to the other execution contexts
    sharing the same core.  This diff also removes an mfence on x86 by using
    a slightly stronger memory model on the preceding compare_exchange_weak,
    and switches to a more portable way of invoking sched_yield().
    
    Reviewed By: dcolascione
    
    Differential Revision: D3018568
    
    fb-gh-sync-id: 02e0ab3a9d9bb9901eddf54e45b71cbb7758a227
    shipit-source-id: 02e0ab3a9d9bb9901eddf54e45b71cbb7758a227
    e756d07c
MicroLock.h 7.67 KB