> On Wed, Jul 20, 2011 at 12:40 PM, Kohei Kaigai > <[email protected]> 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 <[email protected]> -- Sent via pgsql-hackers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
