At the moment WiredTiger skips creating checkpoints if there is no dirty content in a btree. We could add a similar check - but further up the checkpoint creation code, that skips creating a new global checkpoint if:
- The checkpoint isn't forced or named
- The checkpoint is based on the stable timestamp
- The stable timestamp hasn't changed since the previous checkpoint started.
Skipping such checkpoints will save a lot of busy work currently necessary when the stable timestamp isn't moving forward.