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

WT_SPINLOCK is typically is NOT a spinlock

    • Type: Icon: Technical Debt Technical Debt
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Not Applicable
    • Storage Engines
    • StorEng - Defined Pipeline

      The type WT_SPINLOCK can be configured at build time to be one of 4 variations:

      1. Custom spinlock implementation (NOT pthread_spin_lock).
      2. Windows critical section with spinlock count : effectively mixed semantics.
      3. POSIX thread mutex
      4. POSIX thread adaptive mutex

      By default on systems that support posix mutexes we default to using a plain posix mutex, this includes when built as part of mongodb.

      As spinlock identifies a specific type of lock behavior, this name is misleading in the general case.

      First step:

      Identify if we can (no name collision) and want to use an abstract name such as WT_LOCK, or if we think the lock types should reflect their implementation.

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            marc.butler@mongodb.com Marc Butler (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: