Tom Lane wrote:
> Gregory Stark <[EMAIL PROTECTED]> writes:
> > Is there a reason UnpinBuffer has to be the one to increment the usage count
> > anyways? Why can't ReadBuffer handle incrementing the count and just trust
> > that it won't be decremented until the buffer is unpinned anyways?
> 
> That's a good question.  I think the idea was that if we hold a buffer
> pinned for awhile (long enough that the bgwriter's clock sweep passes
> over it one or more times), we want the usage count decrementing to
> start when we release the pin, not when we acquire it.  But maybe that
> could be fixed if the clock sweep doesn't touch the usage_count of a
> pinned buffer.  Which in fact it may not do already --- didn't look.

It does -- in BgBufferSync the "all" scan calls SyncOneBuffer with
skip_pinned=false.  The "lru" scan does skip pinned buffers.

-- 
Alvaro Herrera                          Developer, http://www.PostgreSQL.org/
"World domination is proceeding according to plan"        (Andrew Morton)

---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at

                http://www.postgresql.org/about/donate

Reply via email to