On Tue, May 29, 2012 at 12:47 PM, Peter Geoghegan <peter(at)2ndquadrant(dot)com> wrote:
> Why do you think that doing this for all XLogFlush() callsites might
> be problematic?
Well, consider the one in the background writer, for example. That's
just a periodic flush, so I see no benefit in having it acquire the
lock and then wait some more. It already did wait. And what about
the case where we're flushing while holding WALInsertLock because the
buffer's full? Clearly waiting is useless in that case - nobody can
join the group commit for exactly the same reason that we're doing the
flush in the first place: no buffer space.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company