pgsql: Arrange for read-only accesses to SLRU page buffers to take only

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Arrange for read-only accesses to SLRU page buffers to take only
Date: 2005-12-06 18:10:07
Message-ID: 20051206181007.55A349DCD4D@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Arrange for read-only accesses to SLRU page buffers to take only a shared
lock, not exclusive, if the desired page is already in memory. This can
be demonstrated to be a significant win on the pg_subtrans cache when there
is a large window of open transactions. It should be useful for pg_clog
as well. I didn't try to make GetMultiXactIdMembers() use the code, as
that would have taken some restructuring, and what with the local cache
for multixact contents it probably wouldn't really make a difference.
Per my recent proposal.

Modified Files:
--------------
pgsql/src/backend/access/transam:
clog.c (r1.34 -> r1.35)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/clog.c.diff?r1=1.34&r2=1.35)
multixact.c (r1.13 -> r1.14)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/multixact.c.diff?r1=1.13&r2=1.14)
slru.c (r1.31 -> r1.32)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/slru.c.diff?r1=1.31&r2=1.32)
subtrans.c (r1.13 -> r1.14)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/subtrans.c.diff?r1=1.13&r2=1.14)
pgsql/src/include/access:
slru.h (r1.15 -> r1.16)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/slru.h.diff?r1=1.15&r2=1.16)

Browse pgsql-committers by date

  From Date Subject
Next Message Teodor Sigaev 2005-12-06 18:22:10 pgsql: Fix stupid bug with sizeof
Previous Message Tom Lane 2005-12-06 16:59:23 pgsql: In a nestloop inner indexscan, it's OK to use pushed-down