]> granicus.if.org Git - postgresql/commit
Implement "distributed" checkpoints in which the checkpoint I/O is spread
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 28 Jun 2007 00:02:40 +0000 (00:02 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 28 Jun 2007 00:02:40 +0000 (00:02 +0000)
commit867e2c91a0c341111b7a5257dc4c9a2659a022dc
tree088aa81d027903d3293e8a7d978801678f8a403a
parentb09c248bdd3d0d86714865d2142604aea789e840
Implement "distributed" checkpoints in which the checkpoint I/O is spread
over a fairly long period of time, rather than being spat out in a burst.
This happens only for background checkpoints carried out by the bgwriter;
other cases, such as a shutdown checkpoint, are still done at full speed.

Remove the "all buffers" scan in the bgwriter, and associated stats
infrastructure, since this seems no longer very useful when the checkpoint
itself is properly throttled.

Original patch by Itagaki Takahiro, reworked by Heikki Linnakangas,
and some minor API editorialization by me.
22 files changed:
doc/src/sgml/config.sgml
doc/src/sgml/monitoring.sgml
doc/src/sgml/wal.sgml
src/backend/access/transam/xlog.c
src/backend/bootstrap/bootstrap.c
src/backend/catalog/system_views.sql
src/backend/commands/dbcommands.c
src/backend/postmaster/bgwriter.c
src/backend/postmaster/pgstat.c
src/backend/storage/buffer/bufmgr.c
src/backend/tcop/utility.c
src/backend/utils/adt/pgstatfuncs.c
src/backend/utils/misc/guc.c
src/backend/utils/misc/postgresql.conf.sample
src/include/access/xlog.h
src/include/catalog/catversion.h
src/include/catalog/pg_proc.h
src/include/pgstat.h
src/include/postmaster/bgwriter.h
src/include/storage/buf_internals.h
src/include/storage/bufmgr.h
src/test/regress/expected/rules.out