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

Moving the WT_EXT structure cache to the session handle.

    • Type: Icon: Task Task
    • Resolution: Done
    • WT1.6.6
    • Affects Version/s: None
    • Component/s: None
    • None

      @michaelcahill: I've been looking at contention in the block manager, and I found what I think may be an interesting path: when a block needs to be put onto a list, we need a WT_EXT structure for that purpose. We cache WT_EXT structures on a per-file basis, but when I run an wtperf update runner (for example, update-btree.wtperf) on an SSD, I'm seeing 500 to a thousand allocations a second during parts of the run, while holding the file write locked:

      This change moves the WT_EXT structure cache into the WT_SESSION_IMPL handle so we can allocate those structures without holding the file's lock.

        1. report 010.png
          7 kB
          Ian Daniel

            Assignee:
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Reporter:
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: