BGWriter latch, power saving
Peter Geoghegan <peter@2ndquadrant.com>
From: Peter Geoghegan <peter@2ndquadrant.com>
To: PG Hackers <pgsql-hackers@postgresql.org>
Date: 2012-01-04T05:58:25Z
Lists: pgsql-hackers
Attachments
- bgwriter_latch.v1.patch (text/x-patch) patch v1
As part of the ongoing effort to reduce wake-ups when idle/power consumption, the attached patch modifies the background writer to hibernate in ten second bursts once the bgwriter laps the clock sweep. It's fairly well commented, so a description of how it works here would probably be redundant. The most controversial aspect of this patch is the fact that it adds a SetLatch() call to MarkBufferDirty(), though I went to some lengths to ensure that that call will very probably find the latch already set when it actually matters, so it only checks a single flag. Thoughts? I can produce benchmarks, if that helps, but I think it's fairly unlikely that the patch introduces a measurable performance regression. -- Peter Geoghegan http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training and Services