mirror of
https://github.com/postgres/postgres.git
synced 2025-11-12 05:01:15 +03:00
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
This commit is contained in:
@@ -457,7 +457,7 @@ CLOGShmemInit(void)
|
||||
{
|
||||
ClogCtl->PagePrecedes = CLOGPagePrecedes;
|
||||
SimpleLruInit(ClogCtl, "clog", CLOGShmemBuffers(), CLOG_LSNS_PER_PAGE,
|
||||
CLogControlLock, "pg_clog");
|
||||
CLogControlLock, "pg_clog", LWTRANCHE_CLOG_BUFFERS);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -485,7 +485,8 @@ CommitTsShmemInit(void)
|
||||
|
||||
CommitTsCtl->PagePrecedes = CommitTsPagePrecedes;
|
||||
SimpleLruInit(CommitTsCtl, "commit_timestamp", CommitTsShmemBuffers(), 0,
|
||||
CommitTsControlLock, "pg_commit_ts");
|
||||
CommitTsControlLock, "pg_commit_ts",
|
||||
LWTRANCHE_COMMITTS_BUFFERS);
|
||||
|
||||
commitTsShared = ShmemInitStruct("CommitTs shared",
|
||||
sizeof(CommitTimestampShared),
|
||||
|
||||
@@ -1831,10 +1831,12 @@ MultiXactShmemInit(void)
|
||||
|
||||
SimpleLruInit(MultiXactOffsetCtl,
|
||||
"multixact_offset", NUM_MXACTOFFSET_BUFFERS, 0,
|
||||
MultiXactOffsetControlLock, "pg_multixact/offsets");
|
||||
MultiXactOffsetControlLock, "pg_multixact/offsets",
|
||||
LWTRANCHE_MXACTOFFSET_BUFFERS);
|
||||
SimpleLruInit(MultiXactMemberCtl,
|
||||
"multixact_member", NUM_MXACTMEMBER_BUFFERS, 0,
|
||||
MultiXactMemberControlLock, "pg_multixact/members");
|
||||
MultiXactMemberControlLock, "pg_multixact/members",
|
||||
LWTRANCHE_MXACTMEMBER_BUFFERS);
|
||||
|
||||
/* Initialize our shared state struct */
|
||||
MultiXactState = ShmemInitStruct("Shared MultiXact State",
|
||||
|
||||
@@ -162,7 +162,7 @@ SimpleLruShmemSize(int nslots, int nlsns)
|
||||
|
||||
void
|
||||
SimpleLruInit(SlruCtl ctl, const char *name, int nslots, int nlsns,
|
||||
LWLock *ctllock, const char *subdir)
|
||||
LWLock *ctllock, const char *subdir, int tranche_id)
|
||||
{
|
||||
SlruShared shared;
|
||||
bool found;
|
||||
@@ -215,7 +215,7 @@ SimpleLruInit(SlruCtl ctl, const char *name, int nslots, int nlsns,
|
||||
|
||||
Assert(strlen(name) + 1 < SLRU_MAX_NAME_LENGTH);
|
||||
strlcpy(shared->lwlock_tranche_name, name, SLRU_MAX_NAME_LENGTH);
|
||||
shared->lwlock_tranche_id = LWLockNewTrancheId();
|
||||
shared->lwlock_tranche_id = tranche_id;
|
||||
shared->lwlock_tranche.name = shared->lwlock_tranche_name;
|
||||
shared->lwlock_tranche.array_base = shared->buffer_locks;
|
||||
shared->lwlock_tranche.array_stride = sizeof(LWLockPadded);
|
||||
|
||||
@@ -179,7 +179,8 @@ SUBTRANSShmemInit(void)
|
||||
{
|
||||
SubTransCtl->PagePrecedes = SubTransPagePrecedes;
|
||||
SimpleLruInit(SubTransCtl, "subtrans", NUM_SUBTRANS_BUFFERS, 0,
|
||||
SubtransControlLock, "pg_subtrans");
|
||||
SubtransControlLock, "pg_subtrans",
|
||||
LWTRANCHE_SUBTRANS_BUFFERS);
|
||||
/* Override default assumption that writes should be fsync'd */
|
||||
SubTransCtl->do_fsync = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user