Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-56428

Replace usage of atomic_load/atomic_store of shared_ptr with mutex

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: None
    • Labels:
      None
    • Linked BF Score:
      120

      Description

      The loose atomic_load/atomic_store functions for shared_ptr are implemented over a global pool of 16 mutexes on Linux and a single mutex on Windows.

      This leads to unrelated shared_ptr stores may use the same mutex and create contention for each other. It is better to protect this with our own mutex until we have std::atomic_shared_ptr in C++20.

        Attachments

          Activity

            People

            Assignee:
            backlog-server-execution Backlog - Storage Execution Team
            Reporter:
            henrik.edin Henrik Edin
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Dates

              Created:
              Updated: