Make bgwriter sleep longer when it has no work to do, to save electricity.
To make it wake up promptly when activity starts again, backends nudge it
by setting a latch in MarkBufferDirty(). The latch is kept set while
bgwriter is active, so there is very little overhead from that when the
system is busy. It is only armed before going into longer sleep.
Peter Geoghegan, with some changes by me.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/6d90eaaa89a007e0d365f49d6436f35d2392cfeb
Modified Files
--------------
src/backend/postmaster/bgwriter.c | 144 +++++++++++++++++++++++++++++++----
src/backend/storage/buffer/bufmgr.c | 41 ++++++++---
src/include/storage/bufmgr.h | 2 +-
src/include/storage/proc.h | 2 +
4 files changed, 163 insertions(+), 26 deletions(-)