Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-12035

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

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

      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:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            mathias@mongodb.com Mathias Stearn
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: