CVSROOT: /cvsroot
Module name: pgsql-server
Changes by: momjian@svr1.postgresql.org 03/06/11 19:37:46
Modified files:
src/backend/access/transam: Makefile clog.c
src/backend/storage/lmgr: lwlock.c
src/include/storage: lwlock.h
Added files:
src/backend/access/transam: slru.c
src/include/access: slru.h
Log message:
This patch extracts page buffer pooling and the simple
least-recently-used strategy from clog.c into slru.c. It doesn't
change any visible behaviour and passes all regression tests plus a
TruncateCLOG test done manually.
Apart from refactoring I made a little change to SlruRecentlyUsed,
formerly ClogRecentlyUsed: It now skips incrementing lru_counts, if
slotno is already the LRU slot, thus saving a few CPU cycles. To make
this work, lru_counts are initialised to 1 in SimpleLruInit.
SimpleLru will be used by pg_subtrans (part of the nested transactions
project), so the main purpose of this patch is to avoid future code
duplication.
Manfred Koizar