Skip to content

Commit 7191ce8

Browse files
committed
Make all built-in lwlock tranche IDs fixed.
This makes the values more stable, which seems like a good thing for anybody who needs to look at at them. Alexander Korotkov and Amit Kapila
1 parent 1d0c3b3 commit 7191ce8

File tree

10 files changed

+24
-11
lines changed

10 files changed

+24
-11
lines changed

src/backend/access/transam/clog.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@ CLOGShmemInit(void)
457457
{
458458
ClogCtl->PagePrecedes = CLOGPagePrecedes;
459459
SimpleLruInit(ClogCtl, "clog", CLOGShmemBuffers(), CLOG_LSNS_PER_PAGE,
460-
CLogControlLock, "pg_clog");
460+
CLogControlLock, "pg_clog", LWTRANCHE_CLOG_BUFFERS);
461461
}
462462

463463
/*

src/backend/access/transam/commit_ts.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,8 @@ CommitTsShmemInit(void)
485485

486486
CommitTsCtl->PagePrecedes = CommitTsPagePrecedes;
487487
SimpleLruInit(CommitTsCtl, "commit_timestamp", CommitTsShmemBuffers(), 0,
488-
CommitTsControlLock, "pg_commit_ts");
488+
CommitTsControlLock, "pg_commit_ts",
489+
LWTRANCHE_COMMITTS_BUFFERS);
489490

490491
commitTsShared = ShmemInitStruct("CommitTs shared",
491492
sizeof(CommitTimestampShared),

src/backend/access/transam/multixact.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1831,10 +1831,12 @@ MultiXactShmemInit(void)
18311831

18321832
SimpleLruInit(MultiXactOffsetCtl,
18331833
"multixact_offset", NUM_MXACTOFFSET_BUFFERS, 0,
1834-
MultiXactOffsetControlLock, "pg_multixact/offsets");
1834+
MultiXactOffsetControlLock, "pg_multixact/offsets",
1835+
LWTRANCHE_MXACTOFFSET_BUFFERS);
18351836
SimpleLruInit(MultiXactMemberCtl,
18361837
"multixact_member", NUM_MXACTMEMBER_BUFFERS, 0,
1837-
MultiXactMemberControlLock, "pg_multixact/members");
1838+
MultiXactMemberControlLock, "pg_multixact/members",
1839+
LWTRANCHE_MXACTMEMBER_BUFFERS);
18381840

18391841
/* Initialize our shared state struct */
18401842
MultiXactState = ShmemInitStruct("Shared MultiXact State",

src/backend/access/transam/slru.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ SimpleLruShmemSize(int nslots, int nlsns)
162162

163163
void
164164
SimpleLruInit(SlruCtl ctl, const char *name, int nslots, int nlsns,
165-
LWLock *ctllock, const char *subdir)
165+
LWLock *ctllock, const char *subdir, int tranche_id)
166166
{
167167
SlruShared shared;
168168
bool found;
@@ -215,7 +215,7 @@ SimpleLruInit(SlruCtl ctl, const char *name, int nslots, int nlsns,
215215

216216
Assert(strlen(name) + 1 < SLRU_MAX_NAME_LENGTH);
217217
strlcpy(shared->lwlock_tranche_name, name, SLRU_MAX_NAME_LENGTH);
218-
shared->lwlock_tranche_id = LWLockNewTrancheId();
218+
shared->lwlock_tranche_id = tranche_id;
219219
shared->lwlock_tranche.name = shared->lwlock_tranche_name;
220220
shared->lwlock_tranche.array_base = shared->buffer_locks;
221221
shared->lwlock_tranche.array_stride = sizeof(LWLockPadded);

src/backend/access/transam/subtrans.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,8 @@ SUBTRANSShmemInit(void)
179179
{
180180
SubTransCtl->PagePrecedes = SubTransPagePrecedes;
181181
SimpleLruInit(SubTransCtl, "subtrans", NUM_SUBTRANS_BUFFERS, 0,
182-
SubtransControlLock, "pg_subtrans");
182+
SubtransControlLock, "pg_subtrans",
183+
LWTRANCHE_SUBTRANS_BUFFERS);
183184
/* Override default assumption that writes should be fsync'd */
184185
SubTransCtl->do_fsync = false;
185186
}

src/backend/commands/async.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ AsyncShmemInit(void)
480480
*/
481481
AsyncCtl->PagePrecedes = asyncQueuePagePrecedes;
482482
SimpleLruInit(AsyncCtl, "async", NUM_ASYNC_BUFFERS, 0,
483-
AsyncCtlLock, "pg_notify");
483+
AsyncCtlLock, "pg_notify", LWTRANCHE_ASYNC_BUFFERS);
484484
/* Override default assumption that writes should be fsync'd */
485485
AsyncCtl->do_fsync = false;
486486

src/backend/replication/logical/origin.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -473,7 +473,7 @@ ReplicationOriginShmemInit(void)
473473
{
474474
int i;
475475

476-
replication_states_ctl->tranche_id = LWLockNewTrancheId();
476+
replication_states_ctl->tranche_id = LWTRANCHE_REPLICATION_ORIGIN;
477477
replication_states_ctl->tranche.name = "ReplicationOrigins";
478478
replication_states_ctl->tranche.array_base =
479479
&replication_states[0].lock;

src/backend/storage/lmgr/predicate.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -795,7 +795,8 @@ OldSerXidInit(void)
795795
*/
796796
OldSerXidSlruCtl->PagePrecedes = OldSerXidPagePrecedesLogically;
797797
SimpleLruInit(OldSerXidSlruCtl, "oldserxid",
798-
NUM_OLDSERXID_BUFFERS, 0, OldSerXidLock, "pg_serial");
798+
NUM_OLDSERXID_BUFFERS, 0, OldSerXidLock, "pg_serial",
799+
LWTRANCHE_OLDSERXID_BUFFERS);
799800
/* Override default assumption that writes should be fsync'd */
800801
OldSerXidSlruCtl->do_fsync = false;
801802

src/include/access/slru.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ typedef SlruCtlData *SlruCtl;
144144

145145
extern Size SimpleLruShmemSize(int nslots, int nlsns);
146146
extern void SimpleLruInit(SlruCtl ctl, const char *name, int nslots, int nlsns,
147-
LWLock *ctllock, const char *subdir);
147+
LWLock *ctllock, const char *subdir, int tranche_id);
148148
extern int SimpleLruZeroPage(SlruCtl ctl, int pageno);
149149
extern int SimpleLruReadPage(SlruCtl ctl, int pageno, bool write_ok,
150150
TransactionId xid);

src/include/storage/lwlock.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,9 +210,17 @@ extern void LWLockInitialize(LWLock *lock, int tranche_id);
210210
typedef enum BuiltinTrancheIds
211211
{
212212
LWTRANCHE_MAIN,
213+
LWTRANCHE_CLOG_BUFFERS,
214+
LWTRANCHE_COMMITTS_BUFFERS,
215+
LWTRANCHE_SUBTRANS_BUFFERS,
216+
LWTRANCHE_MXACTOFFSET_BUFFERS,
217+
LWTRANCHE_MXACTMEMBER_BUFFERS,
218+
LWTRANCHE_ASYNC_BUFFERS,
219+
LWTRANCHE_OLDSERXID_BUFFERS,
213220
LWTRANCHE_WAL_INSERT,
214221
LWTRANCHE_BUFFER_CONTENT,
215222
LWTRANCHE_BUFFER_IO_IN_PROGRESS,
223+
LWTRANCHE_REPLICATION_ORIGIN,
216224
LWTRANCHE_REPLICATION_SLOT_IO_IN_PROGRESS,
217225
LWTRANCHE_PROC,
218226
LWTRANCHE_FIRST_USER_DEFINED

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy