Re: CheckpointStartLock starvation

From: "Simon Riggs" <simon(at)2ndquadrant(dot)com>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "ITAGAKI Takahiro" <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>, "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com>, "PostgreSQL-development" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: CheckpointStartLock starvation
Date: 2007-04-04 11:14:45
Message-ID: 1175685285.3623.65.camel@silverbirch.site
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, 2007-04-02 at 21:16 -0400, Tom Lane wrote:
> ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp> writes:
> > Heikki Linnakangas <heikki(at)enterprisedb(dot)com> wrote:
> >> It looks like the bgwriter gets starved waiting on the
> >> CheckpointStartLock. The CheckpointStartLock is held in shared mode over
> >> an XLogFlush when committing, which on an extremely busy system like a
> >> benchmark is always long enough to have a new transaction to acquire the
> >> CheckpointStartLock again.
>
> > If the starvation comes from giving unfair priorities on shared locks
> > against exclusive locks, does the below TODO item help us?
>
> Tweaking the lock rules was my first thought too, but the side-effects
> might be undesirable. In this particular case it would certainly be
> better to not have a lock at all, since having checkpoint block commits
> even briefly is not what we'd like.

Itagaki-san:

Tried that way of handling the problem in June last year and it just
moved the problem, rather than removing it. Lock free solution is the
only way, so Heikki's method is better, ISTM.

--
Simon Riggs
EnterpriseDB http://www.enterprisedb.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2007-04-04 11:24:05 Re: Modifying TOAST thresholds
Previous Message Zeugswetter Andreas ADI SD 2007-04-04 10:02:07 Re: Bug in UTF8-Validation Code?