Send only one FORGET_RELATION_FSYNC request when dropping a relation.

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

Commit: 3072b7bade26d4cf72ad453ad7d3323927b1ea64
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2012-07-19T17:07:33Z
Releases: 9.3.0
Send only one FORGET_RELATION_FSYNC request when dropping a relation.

We were sending one per fork, but a little bit of refactoring allows us
to send just one request with forknum == InvalidForkNumber.  This not only
reduces pressure on the shared-memory request queue, but saves repeated
traversals of the checkpointer's hash table.

Files

PathChange+/−
src/backend/storage/smgr/md.c modified +32 −7
src/backend/storage/smgr/smgr.c modified +1 −2