I think this one deserves more of a comment explaining how checkpoint_gen is used to determine whether a page is worth considering for eviction.