| From: | tgl(at)svr1(dot)postgresql(dot)org (Tom Lane) |
|---|---|
| To: | pgsql-committers(at)postgresql(dot)org |
| Subject: | pgsql: Modify AtEOXact_CatCache and AtEOXact_RelationCache to assume |
| Date: | 2005-08-08 19:17:24 |
| Message-ID: | [email protected] |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
Log Message:
-----------
Modify AtEOXact_CatCache and AtEOXact_RelationCache to assume that the
ResourceOwner mechanism already released all reference counts for the
cache entries; therefore, we do not need to scan the catcache or relcache
at transaction end, unless we want to do it as a debugging crosscheck.
Do the crosscheck only in Assert mode. This is the same logic we had
previously installed in AtEOXact_Buffers to avoid overhead with large
numbers of shared buffers. I thought it'd be a good idea to do it here
too, in view of Kari Lavikka's recent report showing a real-world case
where AtEOXact_CatCache is taking a significant fraction of runtime.
Modified Files:
--------------
pgsql/src/backend/access/transam:
xact.c (r1.211 -> r1.212)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xact.c.diff?r1=1.211&r2=1.212)
pgsql/src/backend/utils/cache:
catcache.c (r1.121 -> r1.122)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/catcache.c.diff?r1=1.121&r2=1.122)
relcache.c (r1.225 -> r1.226)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/relcache.c.diff?r1=1.225&r2=1.226)
pgsql/src/backend/utils/resowner:
resowner.c (r1.12 -> r1.13)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/resowner/resowner.c.diff?r1=1.12&r2=1.13)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2005-08-08 19:44:23 | pgsql: Avoid useless loop overhead in AtEOXact routines when the backend |
| Previous Message | User Nwakefield | 2005-08-08 18:18:34 | bizgres - bizgres: |