pgsql: Send only one FORGET_RELATION_FSYNC request when dropping a rela

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Send only one FORGET_RELATION_FSYNC request when dropping a rela
Date: 2012-07-19 17:07:56
Message-ID: E1SruCi-0003cx-36@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2012-07-19 23:28:38 pgsql: Rethink checkpointer's fsync-request table representation.
Previous Message Heikki Linnakangas 2012-07-18 20:20:23 pgsql: Refactor the way code is shared between some range type function