Replace the BufMgrLock with separate locks on the lookup hashtable and

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 5d5087363d7cdbd00fc432a1216e83a00f7139bd
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2005-03-04T20:21:07Z
Releases: 8.1.0
Replace the BufMgrLock with separate locks on the lookup hashtable and
the freelist, plus per-buffer spinlocks that protect access to individual
shared buffer headers.  This requires abandoning a global freelist (since
the freelist is a global contention point), which shoots down ARC and 2Q
as well as plain LRU management.  Adopt a clock sweep algorithm instead.
Preliminary results show substantial improvement in multi-backend situations.

Files