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 20220808192020.nc556tlgcp66fdgw@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>)
List pgsql-hackers
Hi,

On 2022-08-08 15:12:08 +0900, Kyotaro Horiguchi wrote:
> At Sat, 6 Aug 2022 19:19:39 -0700, Andres Freund <andres@anarazel.de> wrote in
> > 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?
>
> Yes. they acutally does, in shmem_shutdown hook function, during
> at-termination stats write.  I didn't consider to make that not
> happen, to save 2kB of memory on such small number of processes.

That's true for checkpointer, but not e.g. for walwriter, bgwriter. I don't
see why we should force allocate memory that we're never going to use in
background processes.


> And we don't hastle to avoid maybe-empty at-process-termination
> writes..

Hm?

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Chris Cleveland
Date:
Subject: Managing my own index partitions
Next
From: Mikael Kjellström
Date:
Subject: Re: conchuela doesn't like gnu_printf anymore