https://bugs.kde.org/show_bug.cgi?id=344524

--- Comment #18 from Julian Seward <jsew...@acm.org> ---
Actually, I'd prefer to have it so that any attempt to do StoreCond
will cause all following attempts to fail, up until a new LoadLinked
is done.  How does that sound?

  LoadLinked(addr)

    gs.LLvalid = 1
    gs.LLaddr  = addr
    gs.LLdata  = *addr

  StoreCond(addr, data)

    tmp_LLvalid = gs.LLvalid
    gs.LLvalid = 0
    if tmp_LLvalid != 1   -> fail
    if addr != gs.LLaddr  -> fail
    if *addr != gs.LLdata -> fail
    cas_ok = CAS(addr, gs.LLdata -> data)
    if !cas_ok            -> fail
    succeed

  When thread scheduled

    gs.LLvalid = 0

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to