agora inbox for [email protected]
help / color / mirror / Atom feed[PATCH] Restructure repack worker teardown
200+ messages / 5 participants
[nested] [flat]
* [PATCH] Restructure repack worker teardown
@ 2026-05-18 17:13 Álvaro Herrera <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Álvaro Herrera @ 2026-05-18 17:13 UTC (permalink / raw)
The original code would leave a shared memory segment unreleased if we
fail partway through initialization. Change the shutdown order so that
we already free it.
Author: Álvaro Herrera <[email protected]>
Discussion: https://postgr.es/m/[email protected]
---
src/backend/commands/repack.c | 67 ++++++++++++++++-------------------
1 file changed, 31 insertions(+), 36 deletions(-)
diff --git a/src/backend/commands/repack.c b/src/backend/commands/repack.c
index bfc62c8f752..c9064d8fd13 100644
--- a/src/backend/commands/repack.c
+++ b/src/backend/commands/repack.c
@@ -3411,10 +3411,14 @@ start_repack_decoding_worker(Oid relid)
shm_mq_handle *mqh;
BackgroundWorker bgw;
+ decoding_worker = palloc0_object(DecodingWorker);
+
/* Setup shared memory. */
size = BUFFERALIGN(offsetof(DecodingWorkerShared, error_queue)) +
BUFFERALIGN(REPACK_ERROR_QUEUE_SIZE);
seg = dsm_create(size, 0);
+ decoding_worker->seg = seg;
+
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
shared->initialized = false;
shared->lsn_upto = InvalidXLogRecPtr;
@@ -3454,14 +3458,12 @@ start_repack_decoding_worker(Oid relid)
bgw.bgw_main_arg = UInt32GetDatum(dsm_segment_handle(seg));
bgw.bgw_notify_pid = MyProcPid;
- decoding_worker = palloc0_object(DecodingWorker);
if (!RegisterDynamicBackgroundWorker(&bgw, &decoding_worker->handle))
ereport(ERROR,
errcode(ERRCODE_CONFIGURATION_LIMIT_EXCEEDED),
errmsg("out of background worker slots"),
errhint("You might need to increase \"%s\".", "max_worker_processes"));
- decoding_worker->seg = seg;
decoding_worker->error_mqh = mqh;
/*
@@ -3487,17 +3489,6 @@ start_repack_decoding_worker(Oid relid)
ConditionVariableCancelSleep();
}
-/*
- * PG_ENSURE_ERROR_CLEANUP callback to stop the decoding worker.
- * This ensures the worker is terminated on both ERROR and FATAL exits,
- * unlike PG_FINALLY which only handles ERROR.
- */
-static void
-repack_decoding_worker_cleanup_cb(int code, Datum arg)
-{
- stop_repack_decoding_worker();
-}
-
/*
* Stop the decoding worker and cleanup the related resources.
*
@@ -3508,39 +3499,43 @@ static void
stop_repack_decoding_worker(void)
{
BgwHandleStatus status;
+ dsm_segment *dsmseg;
- /* Haven't reached the worker startup? */
+ /* Nothing to do if no worker was set up. */
if (decoding_worker == NULL)
return;
- /* Could not register the worker? */
- if (decoding_worker->handle == NULL)
- return;
+ /* Terminate the worker process, if one is running. */
+ if (decoding_worker->handle != NULL)
+ {
+ TerminateBackgroundWorker(decoding_worker->handle);
+ /* The worker should really exit before the REPACK command does. */
+ HOLD_INTERRUPTS();
+ status = WaitForBackgroundWorkerShutdown(decoding_worker->handle);
+ RESUME_INTERRUPTS();
- TerminateBackgroundWorker(decoding_worker->handle);
- /* The worker should really exit before the REPACK command does. */
- HOLD_INTERRUPTS();
- status = WaitForBackgroundWorkerShutdown(decoding_worker->handle);
- RESUME_INTERRUPTS();
-
- if (status == BGWH_POSTMASTER_DIED)
- ereport(FATAL,
- errcode(ERRCODE_ADMIN_SHUTDOWN),
- errmsg("postmaster exited during REPACK command"));
-
- shm_mq_detach(decoding_worker->error_mqh);
+ if (status == BGWH_POSTMASTER_DIED)
+ ereport(FATAL,
+ errcode(ERRCODE_ADMIN_SHUTDOWN),
+ errmsg("postmaster exited during REPACK command"));
+ }
/*
- * If we could not cancel the current sleep due to ERROR, do that before
- * we detach from the shared memory the condition variable is located in.
- * If we did not, the bgworker ERROR handling code would try and fail
- * badly.
+ * Now detach from our shared memory segment. In error cases there might
+ * still be messages from the worker in the queue, which ProcessInterrupts
+ * would try to read; this is pointless (and causes an assertion failure),
+ * so set the global pointer to NULL to have ProcessRepackMessages ignore
+ * them.
*/
- ConditionVariableCancelSleep();
-
- dsm_detach(decoding_worker->seg);
+ dsmseg = decoding_worker->seg;
pfree(decoding_worker);
decoding_worker = NULL;
+
+ /* We must also cancel the current sleep, if one is still set up */
+ ConditionVariableCancelSleep();
+
+ if (dsmseg != NULL)
+ dsm_detach(dsmseg);
}
/* stop_repack_decoding_worker, wrapped as a before_shmem_exit callback */
--
2.47.3
--b42ct6adeyjj4cbm--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* [PATCH v1 1/1] remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
---
src/backend/utils/activity/wait_event.c | 29 ++++++-------------------
src/tools/pgindent/typedefs.list | 1 -
2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index 95635c7f56c..7ee6f99fb50 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -81,14 +81,7 @@ typedef struct WaitEventCustomEntryByName
/* dynamic allocation counter for custom wait events */
-typedef struct WaitEventCustomCounterData
-{
- int nextId; /* next ID to assign */
- slock_t mutex; /* protects the counter */
-} WaitEventCustomCounterData;
-
-/* pointer to the shared memory */
-static WaitEventCustomCounterData *WaitEventCustomCounter;
+static int *WaitEventCustomCounter;
/* first event ID of custom wait events */
#define WAIT_EVENT_CUSTOM_INITIAL_ID 1
@@ -110,8 +103,8 @@ const ShmemCallbacks WaitEventCustomShmemCallbacks = {
static void
WaitEventCustomShmemRequest(void *arg)
{
- ShmemRequestStruct(.name = "WaitEventCustomCounterData",
- .size = sizeof(WaitEventCustomCounterData),
+ ShmemRequestStruct(.name = "WaitEventCustomCounter",
+ .size = sizeof(int),
.ptr = (void **) &WaitEventCustomCounter,
);
ShmemRequestHash(.name = "WaitEventCustom hash by wait event information",
@@ -134,9 +127,8 @@ WaitEventCustomShmemRequest(void *arg)
static void
WaitEventCustomShmemInit(void *arg)
{
- /* initialize the allocation counter and its spinlock. */
- WaitEventCustomCounter->nextId = WAIT_EVENT_CUSTOM_INITIAL_ID;
- SpinLockInit(&WaitEventCustomCounter->mutex);
+ /* initialize the allocation counter */
+ *WaitEventCustomCounter = WAIT_EVENT_CUSTOM_INITIAL_ID;
}
/*
@@ -221,19 +213,12 @@ WaitEventCustomNew(uint32 classId, const char *wait_event_name)
}
/* Allocate a new event Id */
- SpinLockAcquire(&WaitEventCustomCounter->mutex);
-
- if (WaitEventCustomCounter->nextId >= WAIT_EVENT_CUSTOM_HASH_SIZE)
- {
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ if (*WaitEventCustomCounter >= WAIT_EVENT_CUSTOM_HASH_SIZE)
ereport(ERROR,
errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("too many custom wait events"));
- }
-
- eventId = WaitEventCustomCounter->nextId++;
- SpinLockRelease(&WaitEventCustomCounter->mutex);
+ eventId = (*WaitEventCustomCounter)++;
/* Register the new wait event */
wait_event_info = classId | eventId;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index ffb413ab612..3174e0e4ab8 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -3418,7 +3418,6 @@ WaitEvent
WaitEventActivity
WaitEventBuffer
WaitEventClient
-WaitEventCustomCounterData
WaitEventCustomEntryByInfo
WaitEventCustomEntryByName
WaitEventIO
--
2.50.1 (Apple Git-155)
--65l7A33W789+zwjF--
^ permalink raw reply [nested|flat] 200+ messages in thread
* remove WaitEventCustomCounterData
@ 2026-07-09 02:50 Nathan Bossart <[email protected]>
2026-07-09 04:04 ` Re: remove WaitEventCustomCounterData Michael Paquier <[email protected]>
0 siblings, 1 reply; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 02:50 UTC (permalink / raw)
To: pgsql-hackers; +Cc: [email protected]
While trying to understand the extent of our spinlock usage, I noticed that
WaitEventCustomCounterData->mutex is unnecessary because the counter is
only ever accessed with WaitEventCustomLock held exclusively. So, here's a
patch to simplify matters a bit. Thoughts?
--
nathan
^ permalink raw reply [nested|flat] 200+ messages in thread
* Re: remove WaitEventCustomCounterData
2026-07-09 02:50 remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
@ 2026-07-09 04:04 ` Michael Paquier <[email protected]>
2026-07-09 04:22 ` Re: remove WaitEventCustomCounterData Fujii Masao <[email protected]>
0 siblings, 1 reply; 200+ messages in thread
From: Michael Paquier @ 2026-07-09 04:04 UTC (permalink / raw)
To: Nathan Bossart <[email protected]>; +Cc: pgsql-hackers
On Wed, Jul 08, 2026 at 09:50:33PM -0500, Nathan Bossart wrote:
> While trying to understand the extent of our spinlock usage, I noticed that
> WaitEventCustomCounterData->mutex is unnecessary because the counter is
> only ever accessed with WaitEventCustomLock held exclusively. So, here's a
> patch to simplify matters a bit. Thoughts?
Indeed. This removal sounds good to me, thanks.
--
Michael
Attachments:
[application/pgp-signature] signature.asc (833B, ../../[email protected]/2-signature.asc)
download
^ permalink raw reply [nested|flat] 200+ messages in thread
* Re: remove WaitEventCustomCounterData
2026-07-09 02:50 remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 04:04 ` Re: remove WaitEventCustomCounterData Michael Paquier <[email protected]>
@ 2026-07-09 04:22 ` Fujii Masao <[email protected]>
2026-07-09 16:10 ` Re: remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
0 siblings, 1 reply; 200+ messages in thread
From: Fujii Masao @ 2026-07-09 04:22 UTC (permalink / raw)
To: Michael Paquier <[email protected]>; +Cc: Nathan Bossart <[email protected]>; pgsql-hackers
On Thu, Jul 9, 2026 at 1:04 PM Michael Paquier <[email protected]> wrote:
>
> On Wed, Jul 08, 2026 at 09:50:33PM -0500, Nathan Bossart wrote:
> > While trying to understand the extent of our spinlock usage, I noticed that
> > WaitEventCustomCounterData->mutex is unnecessary because the counter is
> > only ever accessed with WaitEventCustomLock held exclusively. So, here's a
> > patch to simplify matters a bit. Thoughts?
>
> Indeed. This removal sounds good to me, thanks.
#include "storage/spin.h" seems no longer needed in wait_event.c,
since the patch removes the last use of the spinlock code there.
So we can remove that include as well?
Regards,
--
Fujii Masao
^ permalink raw reply [nested|flat] 200+ messages in thread
* Re: remove WaitEventCustomCounterData
2026-07-09 02:50 remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 04:04 ` Re: remove WaitEventCustomCounterData Michael Paquier <[email protected]>
2026-07-09 04:22 ` Re: remove WaitEventCustomCounterData Fujii Masao <[email protected]>
@ 2026-07-09 16:10 ` Nathan Bossart <[email protected]>
0 siblings, 0 replies; 200+ messages in thread
From: Nathan Bossart @ 2026-07-09 16:10 UTC (permalink / raw)
To: Fujii Masao <[email protected]>; +Cc: Michael Paquier <[email protected]>; pgsql-hackers
On Thu, Jul 09, 2026 at 01:22:52PM +0900, Fujii Masao wrote:
> #include "storage/spin.h" seems no longer needed in wait_event.c,
> since the patch removes the last use of the spinlock code there.
> So we can remove that include as well?
I think so. I've committed the patch with that change. Thanks for
looking!
--
nathan
^ permalink raw reply [nested|flat] 200+ messages in thread
end of thread, other threads:[~2026-07-09 16:10 UTC | newest]
Thread overview: 200+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2026-05-18 17:13 [PATCH] Restructure repack worker teardown Álvaro Herrera <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 [PATCH v1 1/1] remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 02:50 remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
2026-07-09 04:04 ` Re: remove WaitEventCustomCounterData Michael Paquier <[email protected]>
2026-07-09 04:22 ` Re: remove WaitEventCustomCounterData Fujii Masao <[email protected]>
2026-07-09 16:10 ` Re: remove WaitEventCustomCounterData Nathan Bossart <[email protected]>
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox