pgsql: Make bgwriter sleep longer when it has no work to do, to save el - Mailing list pgsql-committers

From Heikki Linnakangas
Subject pgsql: Make bgwriter sleep longer when it has no work to do, to save el
Date
Msg-id E1RqSQO-0008Jk-0A@gemulon.postgresql.org
Whole thread Raw
Responses Re: pgsql: Make bgwriter sleep longer when it has no work to do, to save el  (Peter Geoghegan <peter@2ndquadrant.com>)
List pgsql-committers
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(-)


pgsql-committers by date:

Previous
From: Robert Haas
Date:
Subject: pgsql: Add missing #include, to suppress compiler warning.
Next
From: Heikki Linnakangas
Date:
Subject: pgsql: Fix sentence in docs: checkpoints are not done by bgwriter anymo