Use unused field for ref_changes instead of extending the ref structure

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Done
    • Priority: Major - P3
    • 8.3.0-rc0
    • Affects Version/s: None
    • Component/s: Cache and Eviction
    • None
    • Storage Engines, Storage Engines - Transactions
    • SE Transactions - 2025-08-15
    • 3

      We observe a performance regression for the new field ref_changes in WT_REF.
      This ticket is to remove the ref_changes and pad in WT_REF, and use the unused field in WT_REF as an alternation.

      The steps would be:
      1. remove ref_changes and pad in WT_REF.
      2. change the unused field as the alternation.
      3. since ref_changes is uint16 but unused is uint8, for all related ref_changes operation, we need to change them to operate on unused and atomic_xxx_16 operations need to be changed to atomic_xxx_8 operations accordingly.
      4. we should run sys perf patches to verify this change improves the performance.
      5. once this ticket is finished, create a follow up ticket to resolve the potential uint8 ref_changes overflow issue.

            Assignee:
            Zunyi Liu
            Reporter:
            Zunyi Liu
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: