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

track checkpoint I/O separately from eviction I/O

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Minor - P4 Minor - P4
    • WT2.9.0, 3.2.10, 3.3.11
    • Affects Version/s: None
    • Component/s: None
    • None

      alexander.gorrod writes:

      Something I've been interested in a number of times is knowing how much I/O is done in service of checkpoints versus "normal" eviction. I've always chickened out, since the information isn't available down in __wt_block_write_off where we know how much is being written. The checkpoint I/O smoothing project (WT-2389) would be easier to handle if we tracked the information, so I took a look today.

      How would you feel if I made a change to __wt_block_write so that it takes a set of flags, rather than a bool. At the moment those flags would be:
      WT_BLOCK_WRITE_CKSUM
      WT_BLOCK_WRITE_CALLER_LOCKED
      WT_BLOCK_WRITE_FOR_CHECKPOINT

      I'd also need to pass a flag from __sync_file through reconciliation, indicating that the operation is being done in service of a checkpoint.

      There are other alternatives. For example we could add a check for a (new) checkpointing flag in a session handle down in the block manager.

        1. image.png
          28 kB
          Alexander Gorrod

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

              Created:
              Updated:
              Resolved: