> On Wed, Jul 20, 2011 at 12:40 PM, Kohei Kaigai > <kohei.kai...@emea.nec.com> wrote: > > One question is why InitCatalogCache() should be invoked from > > InitPostgres()? > > If we initialize syscache on starting up postmaster process, I think > > all the syscache buckets will be ready on child process forks, and > > unused syscache does not consume physical memory, even if security > > label acquire 2048 of buckets. > > Most of the overhead seems to be the cost of the page faults required > for the kernel to map the relevant pages into the process address > space. After a fork(), all those pages become copy-on-write, so if > the syscaches are actually used this doesn't save much of anything. > In the specific case of sepgsql it would help, though, because what > you're proposing is to add a syscache that will in most cases never be > accessed at all. We'd still have a problem in the EXEC_BACKEND (i.e. > Windows) case, however... > Hmm. It might not work in windows case.
I'd like to have a discussion about syscache towards next commit-fest. The issues may be: - Initial bucket allocation on most cases never be referenced. - Reclaim cache entries on growing up too large. Thanks, -- NEC Europe Ltd, SAP Global Competence Center KaiGai Kohei <kohei.kai...@emea.nec.com> -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers