From 8f74e27118cc68c5348def34cfda814ca846db49 Mon Sep 17 00:00:00 2001 From: Tomas Vondra Date: Thu, 27 Mar 2025 22:03:23 +0100 Subject: [PATCH v6 7/7] review --- src/backend/storage/lmgr/proc.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c index 6e0fc6a08e6..5757545defb 100644 --- a/src/backend/storage/lmgr/proc.c +++ b/src/backend/storage/lmgr/proc.c @@ -134,12 +134,9 @@ PGProcShmemSize(void) TotalProcs = MaxBackends + NUM_AUXILIARY_PROCS + max_prepared_xacts; - size = TotalProcs * sizeof(PGPROC); - size = add_size(size, PG_CACHE_LINE_SIZE); - size = add_size(size, TotalProcs * sizeof(*ProcGlobal->xids)); - size = add_size(size, PG_CACHE_LINE_SIZE); - size = add_size(size, TotalProcs * sizeof(*ProcGlobal->subxidStates)); - size = add_size(size, PG_CACHE_LINE_SIZE); + size = CACHELINEALIGN(TotalProcs * sizeof(PGPROC)); + size = add_size(size, CACHELINEALIGN(TotalProcs * sizeof(*ProcGlobal->xids))); + size = add_size(size, CACHELINEALIGN(TotalProcs * sizeof(*ProcGlobal->subxidStates))); size = add_size(size, TotalProcs * sizeof(*ProcGlobal->statusFlags)); return size; @@ -235,7 +232,7 @@ InitProcGlobal(void) &found); procs = (PGPROC *) ptr; - ptr = (char *) ptr + TotalProcs * sizeof(PGPROC) + PG_CACHE_LINE_SIZE; + ptr = (char *) ptr + CACHELINEALIGN(TotalProcs * sizeof(PGPROC)); MemSet(procs, 0, TotalProcs * sizeof(PGPROC)); ProcGlobal->allProcs = procs; @@ -248,11 +245,11 @@ InitProcGlobal(void) */ ProcGlobal->xids = (TransactionId *) ptr; MemSet(ProcGlobal->xids, 0, TotalProcs * sizeof(*ProcGlobal->xids)); - ptr = (char *) ptr + TotalProcs * sizeof(*ProcGlobal->xids) + PG_CACHE_LINE_SIZE; + ptr = (char *) ptr + CACHELINEALIGN(TotalProcs * sizeof(*ProcGlobal->xids)); ProcGlobal->subxidStates = (XidCacheStatus *) ptr; MemSet(ProcGlobal->subxidStates, 0, TotalProcs * sizeof(*ProcGlobal->subxidStates)); - ptr = (char *) ptr + (TotalProcs * sizeof(*ProcGlobal->subxidStates)) + PG_CACHE_LINE_SIZE; + ptr = (char *) ptr + CACHELINEALIGN(TotalProcs * sizeof(*ProcGlobal->subxidStates)); ProcGlobal->statusFlags = (uint8 *) ptr; MemSet(ProcGlobal->statusFlags, 0, TotalProcs * sizeof(*ProcGlobal->statusFlags)); -- 2.49.0