Re: Checkpoint question

From: Qingqing Zhou <zhouqq(at)cs(dot)toronto(dot)edu>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Checkpoint question
Date: 2006-01-12 03:33:07
Message-ID: Pine.LNX.4.58.0601112227140.6385@eon.cs
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, 11 Jan 2006, Tom Lane wrote:

> Qingqing Zhou <zhouqq(at)cs(dot)toronto(dot)edu> writes:
> > So I wonder is it possible flush only dirty buffers with LSN < RedoRecPtr
> > to improve checkpoint caused delay?
>
> Certainly not. If LSN > RedoRecPtr then you know the buffer contains
> some changes more recent than the checkpoint, but you cannot tell
> whether it also contains changes older than the checkpoint. For
> correctness you must flush it.
>
Right.

> It'd be possible to do something like this: after establishing
> RedoRecPtr, make one quick pass through the buffers and make a list of
> what needs to be dumped at that instant. Then go back and do the actual
> I/O for only those buffers. I'm dubious that this will really improve
> matters though, as the net effect is just to postpone I/O that will
> happen anyway soon after the checkpoint (as soon as the bgwriter goes
> back to normal activity).
>
Looks like a good idea. I don't worry too much about the problem you
mentioned. AFAIK, checkpoint has two targets: (1) cleanup buffer pool; (2)
reduce recovery time;

For (2), it is clear that the above idea will work since the recovery will
always read the data page to check its LSN -- the is the source of the
cost. For (1), we have bgwriter, and part of reason it is desiged is to
cleanup buffer pool.

On a separate matter, it will be interesting to add a io-status-dector in
bgwriter to make it know when the disk is free so a cleanup is valuable.

Regards,
Qingqing

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Qingqing Zhou 2006-01-12 03:34:28 Re: Checkpoint question
Previous Message Tom Lane 2006-01-12 03:12:55 Re: Checkpoint question