Re: Improve LWLock tranche name visibility across backends

From: Nathan Bossart <nathandbossart(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>, Sami Imseih <samimseih(at)gmail(dot)com>, Rahila Syed <rahilasyed90(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Improve LWLock tranche name visibility across backends
Date: 2025-08-19 18:44:39
Message-ID: aKTGF9Fv1ioXa9P5@nathan
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Aug 19, 2025 at 02:37:19PM -0400, Andres Freund wrote:
> On 2025-08-19 13:31:35 -0500, Nathan Bossart wrote:
>> On Tue, Aug 19, 2025 at 02:06:50PM -0400, Andres Freund wrote:
>> > Possibly stupid question - is it really worth having a dynamic structure here?
>> > The number of tranches is strictly bound, it seems like it'd be simpler to
>> > have an array of tranch nmes in shared memory.
>>
>> Tranches can be allocated post-startup with LWLockNewTrancheId() (e.g.,
>> autoprewarm).
>
> Sure, but we don't need to support a large number of tranches. Just make it,
> idk, 128 entries long. Adding a dynamically allocated dsm to every server
> seems like a waste - ever shared mapping makes fork / exit slower...

The other issue is that there's presently no limit on the length of a
tranche name registered via LWLockRegisterTranche(). Life would become
much simpler if we're willing to put a limit on both that and the number of
tranches, but thus far we've been trying to avoid it.

--
nathan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Álvaro Herrera 2025-08-19 18:53:32 Re: Adding REPACK [concurrently]
Previous Message Andres Freund 2025-08-19 18:37:19 Re: Improve LWLock tranche name visibility across backends