Re: Verify predefined LWLocks tranches have entries in wait_event_names.txt

Nathan Bossart <nathandbossart@gmail.com>

From: Nathan Bossart <nathandbossart@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-07-22T01:34:41Z
Lists: pgsql-hackers
On Tue, Jul 22, 2025 at 08:02:52AM +0900, Michael Paquier wrote:
> Ah, you mean removing the need to have to maintain BuiltinTrancheIds.
> This structure depends on NUM_INDIVIDUAL_LWLOCKS for the start value.
> Not really an objection per-se, but trying to automate everything may
> impact the readability of this area of the code.

I bet we could maintain a decent level of readability with some extra
commentary.  IMHO it's worth it to avoid maintaining duplicate lists.  But
that's not something I feel terribly strong about, if others disagree.
FWIW I was imagining something like this:

    typedef enum BuiltinTrancheIds
    {
        LWTRANCHE_INVALID = NUM_INDIVIDUAL_LWLOCKS - 1,
    #define PG_BUILTIN_LWTRANCHE(id, name) id,
    #include "storage/lwlocktranchelist.h"
    #undef PG_BUILTIN_LWTRANCHE
        LWTRANCHE_FIRST_USER_DEFINED,
    }           BuiltinTrancheIds;

-- 
nathan



Commits

  1. Cross-check lists of built-in LWLock tranches.

  2. Remove unused variable in generate-lwlocknames.pl.

  3. Rework lwlocknames.txt to become lwlocklist.h