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
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/3072b7bade26d4cf72ad453ad7d3323927b1ea64

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