|
2 | 2 | * |
3 | 3 | * lwlocklist.h |
4 | 4 | * |
5 | | - * The predefined LWLock list is kept in its own source file for use by |
6 | | - * automatic tools. The exact representation of a keyword is determined by |
7 | | - * the PG_LWLOCK macro, which is not defined in this file; it can be |
| 5 | + * The list of predefined LWLocks and built-in LWLock tranches is kept in |
| 6 | + * its own source file for use by automatic tools. The exact |
| 7 | + * representation of a keyword is determined by the PG_LWLOCK and |
| 8 | + * PG_LWLOCKTRANCHE macros, which are not defined in this file; they can be |
8 | 9 | * defined by the caller for special purposes. |
9 | 10 | * |
10 | 11 | * Also, generate-lwlocknames.pl processes this file to create lwlocknames.h. |
@@ -84,3 +85,53 @@ PG_LWLOCK(50, DSMRegistry) |
84 | 85 | PG_LWLOCK(51, InjectionPoint) |
85 | 86 | PG_LWLOCK(52, SerialControl) |
86 | 87 | PG_LWLOCK(53, AioWorkerSubmissionQueue) |
| 88 | + |
| 89 | +/* |
| 90 | + * There also exist several built-in LWLock tranches. As with the predefined |
| 91 | + * LWLocks, be sure to update the WaitEventLWLock section of |
| 92 | + * src/backend/utils/activity/wait_event_names.txt when modifying this list. |
| 93 | + * |
| 94 | + * Note that the IDs here (the first value) don't include the LWTRANCHE_ |
| 95 | + * prefix. It's added elsewhere. |
| 96 | + */ |
| 97 | +PG_LWLOCKTRANCHE(XACT_BUFFER, XactBuffer) |
| 98 | +PG_LWLOCKTRANCHE(COMMITTS_BUFFER, CommitTsBuffer) |
| 99 | +PG_LWLOCKTRANCHE(SUBTRANS_BUFFER, SubtransBuffer) |
| 100 | +PG_LWLOCKTRANCHE(MULTIXACTOFFSET_BUFFER, MultiXactOffsetBuffer) |
| 101 | +PG_LWLOCKTRANCHE(MULTIXACTMEMBER_BUFFER, MultiXactMemberBuffer) |
| 102 | +PG_LWLOCKTRANCHE(NOTIFY_BUFFER, NotifyBuffer) |
| 103 | +PG_LWLOCKTRANCHE(SERIAL_BUFFER, SerialBuffer) |
| 104 | +PG_LWLOCKTRANCHE(WAL_INSERT, WALInsert) |
| 105 | +PG_LWLOCKTRANCHE(BUFFER_CONTENT, BufferContent) |
| 106 | +PG_LWLOCKTRANCHE(REPLICATION_ORIGIN_STATE, ReplicationOriginState) |
| 107 | +PG_LWLOCKTRANCHE(REPLICATION_SLOT_IO, ReplicationSlotIO) |
| 108 | +PG_LWLOCKTRANCHE(LOCK_FASTPATH, LockFastPath) |
| 109 | +PG_LWLOCKTRANCHE(BUFFER_MAPPING, BufferMapping) |
| 110 | +PG_LWLOCKTRANCHE(LOCK_MANAGER, LockManager) |
| 111 | +PG_LWLOCKTRANCHE(PREDICATE_LOCK_MANAGER, PredicateLockManager) |
| 112 | +PG_LWLOCKTRANCHE(PARALLEL_HASH_JOIN, ParallelHashJoin) |
| 113 | +PG_LWLOCKTRANCHE(PARALLEL_BTREE_SCAN, ParallelBtreeScan) |
| 114 | +PG_LWLOCKTRANCHE(PARALLEL_QUERY_DSA, ParallelQueryDSA) |
| 115 | +PG_LWLOCKTRANCHE(PER_SESSION_DSA, PerSessionDSA) |
| 116 | +PG_LWLOCKTRANCHE(PER_SESSION_RECORD_TYPE, PerSessionRecordType) |
| 117 | +PG_LWLOCKTRANCHE(PER_SESSION_RECORD_TYPMOD, PerSessionRecordTypmod) |
| 118 | +PG_LWLOCKTRANCHE(SHARED_TUPLESTORE, SharedTupleStore) |
| 119 | +PG_LWLOCKTRANCHE(SHARED_TIDBITMAP, SharedTidBitmap) |
| 120 | +PG_LWLOCKTRANCHE(PARALLEL_APPEND, ParallelAppend) |
| 121 | +PG_LWLOCKTRANCHE(PER_XACT_PREDICATE_LIST, PerXactPredicateList) |
| 122 | +PG_LWLOCKTRANCHE(PGSTATS_DSA, PgStatsDSA) |
| 123 | +PG_LWLOCKTRANCHE(PGSTATS_HASH, PgStatsHash) |
| 124 | +PG_LWLOCKTRANCHE(PGSTATS_DATA, PgStatsData) |
| 125 | +PG_LWLOCKTRANCHE(LAUNCHER_DSA, LogicalRepLauncherDSA) |
| 126 | +PG_LWLOCKTRANCHE(LAUNCHER_HASH, LogicalRepLauncherHash) |
| 127 | +PG_LWLOCKTRANCHE(DSM_REGISTRY_DSA, DSMRegistryDSA) |
| 128 | +PG_LWLOCKTRANCHE(DSM_REGISTRY_HASH, DSMRegistryHash) |
| 129 | +PG_LWLOCKTRANCHE(COMMITTS_SLRU, CommitTsSLRU) |
| 130 | +PG_LWLOCKTRANCHE(MULTIXACTOFFSET_SLRU, MultiXactOffsetSLRU) |
| 131 | +PG_LWLOCKTRANCHE(MULTIXACTMEMBER_SLRU, MultiXactMemberSLRU) |
| 132 | +PG_LWLOCKTRANCHE(NOTIFY_SLRU, NotifySLRU) |
| 133 | +PG_LWLOCKTRANCHE(SERIAL_SLRU, SerialSLRU) |
| 134 | +PG_LWLOCKTRANCHE(SUBTRANS_SLRU, SubtransSLRU) |
| 135 | +PG_LWLOCKTRANCHE(XACT_SLRU, XactSLRU) |
| 136 | +PG_LWLOCKTRANCHE(PARALLEL_VACUUM_DSA, ParallelVacuumDSA) |
| 137 | +PG_LWLOCKTRANCHE(AIO_URING_COMPLETION, AioUringCompletion) |
0 commit comments