Re: 2nd Level Buffer Cache
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Jim Nasby <jim@nasby.net>, Jeff Janes <jeff.janes@gmail.com>, Kevin Grittner <Kevin.Grittner@wicourts.gov>, rsmogura <rsmogura@softperience.eu>, PG Hackers <pgsql-hackers@postgresql.org>
Date: 2011-03-24T20:59:10Z
Lists: pgsql-hackers
On Wed, Mar 23, 2011 at 6:12 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Robert Haas <robertmhaas@gmail.com> writes: >> It looks like the only way anything can ever get put on the free list >> right now is if a relation or database is dropped. That doesn't seem >> too good. > > Why not? AIUI the free list is only for buffers that are totally dead, > ie contain no info that's possibly of interest to anybody. It is *not* > meant to substitute for running the clock sweep when you have to discard > a live buffer. It seems at least plausible that buffer allocation could be significantly faster if it need only pop the head of a list, rather than scanning until it finds a suitable candidate. Moving as much buffer allocation work as possible into the background seems like it ought to be useful. Granted, I've made no attempt to code or test this. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company