From d67ad2ab9041c625e718c12ff4461af04505188d Mon Sep 17 00:00:00 2001 From: Andreas Karlsson Date: Mon, 3 Mar 2025 20:04:03 +0100 Subject: [PATCH] Remove pointless struct from shmem code This struct just added extra mental overhead. --- contrib/pg_tde/src/common/pg_tde_shmem.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/contrib/pg_tde/src/common/pg_tde_shmem.c b/contrib/pg_tde/src/common/pg_tde_shmem.c index f3bd1e8824a..6bd4c9578d6 100644 --- a/contrib/pg_tde/src/common/pg_tde_shmem.c +++ b/contrib/pg_tde/src/common/pg_tde_shmem.c @@ -17,11 +17,6 @@ #include "storage/lwlock.h" #include "storage/shmem.h" -typedef struct TdeSharedState -{ - void *rawDsaArea; /* DSA area pointer to store cache hashes */ -} TdeSharedState; - static void tde_shmem_shutdown(int code, Datum arg); List *registeredShmemRequests = NIL; @@ -47,7 +42,6 @@ TdeRequiredSharedMemorySize(void) if (routine->required_shared_mem_size) sz = add_size(sz, routine->required_shared_mem_size()); } - sz = add_size(sz, sizeof(TdeSharedState)); return MAXALIGN(sz); } @@ -61,25 +55,22 @@ void TdeShmemInit(void) { bool found; - TdeSharedState *tdeState; + char *free_start; Size required_shmem_size = TdeRequiredSharedMemorySize(); LWLockAcquire(AddinShmemInitLock, LW_EXCLUSIVE); /* Create or attach to the shared memory state */ ereport(NOTICE, errmsg("TdeShmemInit: requested %ld bytes", required_shmem_size)); - tdeState = ShmemInitStruct("pg_tde", required_shmem_size, &found); + free_start = ShmemInitStruct("pg_tde", required_shmem_size, &found); if (!found) { /* First time through ... */ - char *p = (char *) tdeState; dsa_area *dsa; ListCell *lc; Size used_size = 0; Size dsa_area_size; - p += MAXALIGN(sizeof(TdeSharedState)); - used_size += MAXALIGN(sizeof(TdeSharedState)); /* Now place all shared state structures */ foreach(lc, registeredShmemRequests) { @@ -88,19 +79,18 @@ TdeShmemInit(void) if (routine->init_shared_state) { - sz = routine->init_shared_state(p); + sz = routine->init_shared_state(free_start); used_size += MAXALIGN(sz); - p += MAXALIGN(sz); + free_start += MAXALIGN(sz); Assert(used_size <= required_shmem_size); } } /* Create DSA area */ dsa_area_size = required_shmem_size - used_size; Assert(dsa_area_size > 0); - tdeState->rawDsaArea = p; ereport(LOG, errmsg("creating DSA area of size %lu", dsa_area_size)); - dsa = dsa_create_in_place(tdeState->rawDsaArea, + dsa = dsa_create_in_place(free_start, dsa_area_size, LWLockNewTrancheId(), 0); dsa_pin(dsa); @@ -112,7 +102,7 @@ TdeShmemInit(void) TDEShmemSetupRoutine *routine = (TDEShmemSetupRoutine *) lfirst(lc); if (routine->init_dsa_area_objects) - routine->init_dsa_area_objects(dsa, tdeState->rawDsaArea); + routine->init_dsa_area_objects(dsa, free_start); } ereport(LOG, errmsg("setting no limit to DSA area of size %lu", dsa_area_size));