Re: Improve LWLock tranche name visibility across backends

From: Nathan Bossart <nathandbossart(at)gmail(dot)com>
To: Sami Imseih <samimseih(at)gmail(dot)com>
Cc: Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andres Freund <andres(at)anarazel(dot)de>, 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-28 16:32:35
Message-ID: aLCEo0ZMV3vIGRWk@nathan
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I've spent some time getting this prepared for commit, so apologies if I am
steamrolling over some of the latest discussion points. The majority of
what I've changed amounts to what I'd characterize as relatively minor
editorialization, but I'd imagine reasonable people could disagree. The
bigger things I've changed include:

* I've moved the DSM registry adjustments to be a prerequisite patch. I
noticed that we can also stop tracking the tranche names there since we
always use the name of the DSM registry entry.

* I modified the array of tranche names to be a char ** to simplify
lookups. I also changed how it is first initialized in CreateLWLocks() a
bit.

* I've left out the tests for now. Those are great for the development
phase, but I'm not completely sold on committing them. In any case, I'd
probably treat that as a follow-up effort once this stuff is committed.

I think this patch set will require reworking the "GetNamedLWLockTranche
crashes on Windows in normal backend" patch [0], but AFAICT we can easily
adjust it to scan through NamedLWLockTrancheNames instead.

Overall, I'm pretty happy about these patches. They simplify the API and
the code while also fixing the problem with tranche name visibility.

[0] https://postgr.es/m/CAA5RZ0v1_15QPg5Sqd2Qz5rh_qcsyCeHHmRDY89xVHcy2yt5BQ%40mail.gmail.com

--
nathan

Attachment Content-Type Size
v16-0001-dsm_registry-Use-one-LWLock-tranche-for-dshash-t.patch text/plain 5.9 KB
v16-0002-Move-dynamically-allocated-tranche-names-to-shar.patch text/plain 22.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nathan Bossart 2025-08-28 16:33:50 Re: VM corruption on standby
Previous Message Álvaro Herrera 2025-08-28 16:23:46 Re: misleading error message in ProcessUtilitySlow T_CreateStatsStmt