On Wed, Nov 10, 2021 at 12:16 AM Michail Nikolaev <michail.nikol...@gmail.com> wrote: > I updated the patch a little. KnownAssignedXidsGetAndSetXmin now > causes fewer cache misses because some values are stored in variables > (registers). I think it is better to not lean on the compiler here > because of `volatile` args. > Also, I have added some comments.
It looks like KnownAssignedXidsNext doesn't have to be pg_atomic_uint32. I see it only gets read with pg_atomic_read_u32() and written with pg_atomic_write_u32(). Existing code believes that read/write of 32-bit values is atomic. So, you can use just uint32 instead of pg_atomic_uint32. ------ Regards, Alexander Korotkov