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

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Make bgwriter sleep longer when it has no work to do, to save el
Date: 2012-01-26 16:43:48
Message-ID: E1RqSQO-0008Jk-0A@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(-)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2012-01-26 17:09:16 pgsql: Fix sentence in docs: checkpoints are not done by bgwriter anymo
Previous Message Robert Haas 2012-01-26 15:18:22 pgsql: Add missing #include, to suppress compiler warning.