pgsql: Send only one FORGET_RELATION_FSYNC request when dropping a rela

Started by Tom Laneabout 14 years ago1 messagescomitters
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

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.

Branch
------
REL9_2_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/2bc30516c728fddf791ec508056a9c92c65025af

Modified Files
--------------
src/backend/storage/smgr/md.c | 39 ++++++++++++++++++++++++++++++++-------
src/backend/storage/smgr/smgr.c | 3 +--
2 files changed, 33 insertions(+), 9 deletions(-)