pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Nathan Bossart <nathandbossart@gmail.com>
To: Sami Imseih <samimseih@gmail.com>
Cc: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Subject: Re: Improve LWLock tranche name visibility across backends
Date: Mon, 14 Jul 2025 16:39:18 -0500
Message-ID: <aHV5BsKoSeOkIsNL@nathan> (raw)
In-Reply-To: <CAA5RZ0vb_CVR7SuCpHrLbV4yDQJ8o9WUudz51YRjUr4PLiDMYg@mail.gmail.com>
References: <CAA5RZ0vvED3naph8My8Szv6DL4AxOVK3eTPS0qXsaKi=bVdW2A@mail.gmail.com>
	<aG9/OKQRgPUCxmsX@ip-10-97-1-34.eu-west-3.compute.internal>
	<CAA5RZ0ui5+=Q3ouxbrjSKa1xJvOjDD2tNYfkG-UtJJNNc-4E=g@mail.gmail.com>
	<aHDYHKdEyZiV/Aob@ip-10-97-1-34.eu-west-3.compute.internal>
	<CAA5RZ0vK_EuHwGj8nWkb1UwYjDbqvj+ZyiYPYn3CRsU8uwKUsQ@mail.gmail.com>
	<aHGJBt37dg37f1bE@nathan>
	<CAA5RZ0uic7Us255mFPJSrMFH7UY-RR8YZcjBzNDzfE4gFREDGQ@mail.gmail.com>
	<aHVeqtsltQyBBvAM@nathan>
	<CAA5RZ0vb_CVR7SuCpHrLbV4yDQJ8o9WUudz51YRjUr4PLiDMYg@mail.gmail.com>

On Mon, Jul 14, 2025 at 03:45:02PM -0500, Sami Imseih wrote:
>> Ah, I missed the problem with postmaster.  Could we have the first backend
>> that needs to access the table be responsible for creating it and
>> populating it with the built-in/requested-at-startup entries?
> 
> We can certainly maintain a flag in the shared state that is set once
> the first backend loads all the tranches in shared memory. That did not
> cross my mind, but it feels wrong to offload such responsibility to a
> normal backend.

Well, we already need each backend to either initialize or attach to the
dshash table, and the initialization would only ever happen once on a
running server.  Adding a new initialization step to bootstrap the built-in
and registered-at-startup tranche names doesn't seem like that much of a
leap to me.

Another random thought: I worry that the dshash approach might be quite a
bit slower, and IIUC we just need to map an integer to a string.  Maybe we
should just use a DSA for LWLockTrancheNames.  IOW we'd leave it as a char
** but put it in shared memory.  

-- 
nathan





view thread (107+ messages)  latest in thread

Message-ID: <aHV5BsKoSeOkIsNL@nathan>
Permalink:  ../aHV5BsKoSeOkIsNL@nathan/
Also on:    postgresql.org/message-id/aHV5BsKoSeOkIsNL@nathan

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: nathandbossart@gmail.com, samimseih@gmail.com, bertranddrouvot.pg@gmail.com
  Subject: Re: Improve LWLock tranche name visibility across backends
  In-Reply-To: <aHV5BsKoSeOkIsNL@nathan>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox