Here is v23. As was suggested by Alexander above, I've changed the order of the patches and improved the commit message. Now, SLRU patch is the first.
Splitting 64 bit XIDs into a bunch of patches was done to simplify reviewing and making commits in small portions. We have little overhead here like removing Epoch later and now changes are based on the fact that Epoch still exists.
In the SLRU patch we have changed SLRU page numbering from int to int64. There were proposals to make use of SLRU pages numbers that are in fact unsigned and change from int to uint64. I fully support this, but I'm not sure this big SLRU refactoring should be done in this patchset. On the other hand it seems logical to change everything in SLRU at once. I think I need a second opinion in support of this change.
In general, I consider this patchset is ready to commit. It would be great to deliver it in PG15.