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... -- 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