Re: Separating bgwriter and checkpointer

Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>

From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Simon Riggs <simon@2ndQuadrant.com>
Cc: Fujii Masao <masao.fujii@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-09-20T09:03:51Z
Lists: pgsql-hackers
On 20.09.2011 11:18, Simon Riggs wrote:
> The bgwriter avoids I/O, if it is operating correctly. This patch
> ensures it continues to operate even during heavy checkpoints. So it
> helps avoid extra I/O during a period of very high I/O activity.

I don't see what difference it makes which process does the I/O. If a 
write() by checkpointer process blocks, any write()s by the separate 
bgwriter process at that time will block too. If the I/O is not 
saturated, and the checkpoint write()s don't block, then even without 
this patch, the bgwriter process can handle its usual bgwriter duties 
during checkpoint just fine. (And if the I/O is not saturated, it's not 
an I/O bound system anyway.)

-- 
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com