Atomic flag set/clear should use dedicated RMW ops rather than CAS loop

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • StorEng - Defined Pipeline
    • None

      See this code for the definitions of FLD_SET_ATOMIC_16 and FLD_CLR_ATOMIC_16. These are currently using CAS loops, but it is better to use the direct atomic RMW ops on x86 and armv8.1 to atomically set and clear bits. They should be a bit faster in the uncontended case and are much faster when contended.

      example codegen

            Assignee:
            [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            Mathias Stearn
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: