Heikki Linnakangas <[EMAIL PROTECTED]> writes: > On a busy system, checkpoint could be starved while queuing for the > CheckpointStartLock. To avoid that, get rid of CheckpointStartLock and > instead set a flag in PGPROC struct when a commit starts. After > computing the REDO ptr, checkpoint waits for all backends that had that > flag set to finish their commits. This eliminates the same race > condition the CheckpointStartLock was there for, without the risk of > starvation.
Applied with some revisions --- I did not see the point of forcing checkpoint to wait till the transaction was fully out of its commit; we only need it to wait till clog is updated. The procarray code seemed overly complicated too. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org