• Vineet Gupta's avatar
    ARCv2: STAR 9000837815 workaround hardware exclusive transactions livelock · a5c8b52a
    Vineet Gupta authored
    A quad core SMP build could get into hardware livelock with concurrent
    LLOCK/SCOND. Workaround that by adding a PREFETCHW which is serialized by
    SCU (System Coherency Unit). It brings the cache line in Exclusive state
    and makes others invalidate their lines. This gives enough time for
    winner to complete the LLOCK/SCOND, before others can get the line back.
    
    The prefetchw in the ll/sc loop is not nice but this is the only
    software workaround for current version of RTL.
    
    Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Will Deacon <will.deacon@arm.com>
    Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
    a5c8b52a
atomic.h 4.82 KB