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

Replace usage of atomic_load/atomic_store of shared_ptr with mutex

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None
    • Storage Execution

    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

            backlog-server-execution Backlog - Storage Execution Team
            henrik.edin@mongodb.com Henrik Edin
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated: