Re: Patch to address creation of PgStat* contexts with null parent context - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Patch to address creation of PgStat* contexts with null parent context
Date
Msg-id 20220807021939.ukavtzwehzu3no4g@awork3.anarazel.de
Whole thread Raw
In response to Re: Patch to address creation of PgStat* contexts with null parent context  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
Responses Re: Patch to address creation of PgStat* contexts with null parent context
Re: Patch to address creation of PgStat* contexts with null parent context
List pgsql-hackers
Hi,

On 2022-08-05 17:22:38 +0900, Kyotaro Horiguchi wrote:
> I think it a bit different.  Previously that memory (but for a bit
> different use, precisely) was required only when stats data is read so
> almost all server processes didn't need it.  Now, every server process
> that uses pgstats requires the two memory if it is going to write
> stats.  Even if that didn't happen until process termination, that
> memory eventually required to flush possibly remaining data.  That
> final write might be avoidable but I'm not sure it's worth the
> trouble.  As the result, calling pgstat_initialize() is effectively
> the declaration that the process requires the memory.

I don't think every process will end up calling pgstat_setup_memcxt() -
e.g. walsender, bgwriter, checkpointer probably don't? What do we gain by
creating the contexts eagerly?


> Thus I thought that we may let pgstat_initialize() promptly allocate
> the memory.

That makes some sense - but pgstat_attach_shmem() seems like a very strange
place for the call to CreateCacheMemoryContext().


I wonder if we shouldn't just use TopMemoryContext as the parent for most of
these contexts instead. CacheMemoryContext isn't actually a particularly good
fit anymore.

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: Use pg_pwritev_with_retry() instead of write() in dir_open_for_write() to avoid partial writes?
Next
From: Thomas Munro
Date:
Subject: Re: Cleaning up historical portability baggage