> * BufFreelistLock is a huge issue. Finding a next victim block needs to be an O(1) operation, yet it is currently much worse than that. Measuring > contention on that lock hides that problem, since having shared buffers lock up for 100ms or more but only occasionally is a huge problem, even if it > doesn't occur frequently enough for the averaged contention to show as an issue.
To optimize finding next victim buffer, I am planning to run the clock sweep in background. Apart from that do you have any idea to make it closer to O(1)?
Yes, I already posted patches to attentuate the search time. Please check back last few CFs of 9.3