Tom Lane wrote: > Bruce Momjian <[EMAIL PROTECTED]> writes: > > Tom Lane wrote: > >> Exactly. But 1% would be uselessly small with this definition. Offhand > >> I'd think something like 50% might be a starting point; maybe even more. > >> What that says is that a page isn't a candidate to be written out by the > >> bgwriter until it's fallen halfway down the LRU list. > > > So we are not scanning by buffer address but using the LRU list? Are we > > sure they are mostly dirty? > > No. The entire point is to keep the LRU end of the list mostly clean. > > Now that you mention it, it might be interesting to try the approach of > doing a clock scan on the buffer array and ignoring the ARC lists > entirely. That would be a fundamentally different way of envisioning > what the bgwriter is supposed to do, though. I think the main reason > Jan didn't try that was he wanted to be sure the LRU page was usually > clean so that backends would seldom end up doing writes for themselves > when they needed to get a free buffer. > > Maybe we need a hybrid approach: clean a few percent of the LRU end of > the ARC list in order to keep backends from blocking on writes, plus run > a clock scan to keep checkpoints from having to do much. But that's way > beyond what we have time for in the 8.0 cycle.
OK, so we scan from the end of the LRU. If we scan X% and find _no_ dirty buffers perhaps we should start where we left off last time. If we don't start where we left off, I am thinking if you do a lot of writes then do nothing, the next checkpoint would be huge because a lot of the LRU will be dirty because the bgwriter never got to it. -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])