On Fri, Jun 1, 2012 at 8:47 AM, Florian Pflug <f...@phlo.org> wrote:
> A simpler idea would be to collapse UnpinBuffer() / PinBuffer() pairs
> by queing UnpinBuffer() requests for a while before actually updating
> shared state.

So, what happens when somebody wants a cleanup lock on the buffer
you've decided to keep pinned?  We have this problem already; I'm wary
of making it worse.

> We'd drain the unpin queue whenever we don't expect a PinBuffer() request
> to happen for a while. Returning to the main loop is an obvious such place,
> but there might be others.

However, on a workload like pgbench -S, dropping the pin when you
return to the main loop would render the optimization useless.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to