From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Simon Riggs <simon(at)2ndquadrant(dot)com> |
Cc: | Qingqing Zhou <zhouqq(at)cs(dot)toronto(dot)edu>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Checkpoint question |
Date: | 2006-01-12 09:15:37 |
Message-ID: | 3094.1137057337@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Simon Riggs <simon(at)2ndquadrant(dot)com> writes:
>> On Wed, 11 Jan 2006, Tom Lane wrote:
>>> 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.
> To compile the list, you'd need to stop all buffer write activity while
> you compile it, which sounds a high price for the benefit.
Not really --- I was only thinking of narrowing the window for "extra"
writes to get in, not removing the window entirely. Don't need any sort
of global lock for that.
But I agree with your analysis that the extra cycles won't save much in
practice. The objection I see is that two lock cycles on each targeted
buffer are a nontrivial expense in SMP machines.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Qingqing Zhou | 2006-01-12 09:50:30 | Re: Checkpoint question |
Previous Message | Simon Riggs | 2006-01-12 09:08:10 | Re: Checkpoint question |