Re: Improve LWLock tranche name visibility across backends - Mailing list pgsql-hackers

From Nathan Bossart
Subject Re: Improve LWLock tranche name visibility across backends
Date
Msg-id aLCEo0ZMV3vIGRWk@nathan
Whole thread Raw
In response to Re: Improve LWLock tranche name visibility across backends  (Sami Imseih <samimseih@gmail.com>)
List 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

pgsql-hackers by date:

Previous
From: Álvaro Herrera
Date:
Subject: Re: misleading error message in ProcessUtilitySlow T_CreateStatsStmt
Next
From: Nathan Bossart
Date:
Subject: Re: VM corruption on standby