diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2020-05-14 11:10:31 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2020-05-14 11:10:31 -0400 |
commit | 29c3e2dd5a6aeaf1a23d7d83d665501e2dcc6955 (patch) | |
tree | d855391c63c8464375e49e962c3cc3ee9e171da6 /src/backend/access/transam/xlog.c | |
parent | 07451e1f1adc4ff832196f1f47def13e49d2ed38 (diff) | |
download | postgresql-29c3e2dd5a6aeaf1a23d7d83d665501e2dcc6955.tar.gz postgresql-29c3e2dd5a6aeaf1a23d7d83d665501e2dcc6955.zip |
Collect built-in LWLock tranche names statically, not dynamically.
There is little point in using the LWLockRegisterTranche mechanism for
built-in tranche names. It wastes cycles, it creates opportunities for
bugs (since failing to register a tranche name is a very hard-to-detect
problem), and the lack of any centralized list of names encourages
sloppy nonconformity in name choices. Moreover, since we have a
centralized list of the tranches anyway in enum BuiltinTrancheIds, we're
certainly not buying any flexibility in return for these disadvantages.
Hence, nuke all the backend-internal LWLockRegisterTranche calls,
and instead provide a const array of the builtin tranche names.
(I have in mind to change a bunch of these names shortly, but this
patch is just about getting them into one place.)
Discussion: https://postgr.es/m/9056.1589419765@sss.pgh.pa.us
Diffstat (limited to 'src/backend/access/transam/xlog.c')
-rw-r--r-- | src/backend/access/transam/xlog.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index a53e6d96334..4284659099b 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -5116,10 +5116,8 @@ XLOGShmemInit(void) /* both should be present or neither */ Assert(foundCFile && foundXLog); - /* Initialize local copy of WALInsertLocks and register the tranche */ + /* Initialize local copy of WALInsertLocks */ WALInsertLocks = XLogCtl->Insert.WALInsertLocks; - LWLockRegisterTranche(LWTRANCHE_WAL_INSERT, - "wal_insert"); if (localControlFile) pfree(localControlFile); @@ -5155,7 +5153,6 @@ XLOGShmemInit(void) (WALInsertLockPadded *) allocptr; allocptr += sizeof(WALInsertLockPadded) * NUM_XLOGINSERT_LOCKS; - LWLockRegisterTranche(LWTRANCHE_WAL_INSERT, "wal_insert"); for (i = 0; i < NUM_XLOGINSERT_LOCKS; i++) { LWLockInitialize(&WALInsertLocks[i].l.lock, LWTRANCHE_WAL_INSERT); |