From: Michael Paquier <michael@paquier.xyz>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Nathan Bossart <nathan@postgresql.org>
Cc: pgsql-committers@lists.postgresql.org
Subject: Re: pgsql: Move named LWLock tranche requests to shared memory.
Date: Wed, 17 Sep 2025 13:47:19 +0900
Message-ID: <aMo9V5A7S30mwCcR@paquier.xyz> (raw)
In-Reply-To: <aMo0uqvCDEYmYMQD@nathan>
References: <E1uwodL-000EuJ-2j@gemulon.postgresql.org>
<aMoejB3iTWy1SxfF@paquier.xyz>
<aMoqphZNkFJ_iy_K@nathan>
<aMo0uqvCDEYmYMQD@nathan>
On Tue, Sep 16, 2025 at 11:10:34PM -0500, Nathan Bossart wrote:
> I was able to simplify the patch.
+ if (LocalNamedLWLockTrancheRequestArray)
+ NamedLWLockTrancheRequestArray = LocalNamedLWLockTrancheRequestArray;
It's not a common practice in the code to rely on a shmem state that
should be already set in a routine reporting the size of how much
should be allocated, but that seems OK to live with that here with a
local pointer used un !IsUnderPostmaster.
Perhaps LocalNamedLWLockTrancheRequestArray should be initialized to
NULL when declared, and I'd rather document the reasons behind what
this patch is doing in LWLockShmemSize() and when the state is
initialized in CreateLWLocks(), than have the reader assume why the
local pointer is needed (aka reinitialized with restart_after_crash).
013, 022 and 041 look happy with this solution, with or without
EXEC_BACKEND.
Note: I forgot for a second if shared_preload_libraries was reloaded
when the postmaster reinitializes a cluster, and the answer is that
we only go into process_shared_preload_libraries() once at startup..
I was wondering for a second about a potential case where s_p_l is
updated with more lwlocks added in-between, where a reinitialization
would mess up things.
--
Michael
Attachments:
signature.asc (application/pgp-signature, 832B) download
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-committers@postgresql.org
Cc: michael@paquier.xyz, nathandbossart@gmail.com, nathan@postgresql.org, pgsql-committers@lists.postgresql.org
Subject: Re: pgsql: Move named LWLock tranche requests to shared memory.
In-Reply-To: <aMo9V5A7S30mwCcR@paquier.xyz>
* 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