]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Rename global variable backing DSA area
authorDaniel Gustafsson <dgustafsson@postgresql.org>
Thu, 10 Apr 2025 20:40:27 +0000 (22:40 +0200)
committerDaniel Gustafsson <dgustafsson@postgresql.org>
Thu, 10 Apr 2025 20:40:27 +0000 (22:40 +0200)
The global variable backing the DSA area for Memory Context stats
reporting had a too generic name, rename to be more descriptive.
Independently reported by Peter and Laurenz.

Author: Daniel Gustafsson <daniel@yesql.se>
Reported-by: Peter Eisentraut <peter@eisentraut.org>
Reported-by: Laurenz Albe <laurenz.albe@cybertec.at>
Discussion: https://postgr.es/m/d51172bd4e7f4b07a18a0288ca1b1c28a71a5f6a.camel@cybertec.at
Discussion: https://postgr.es/m/25095db5-b595-4b85-9100-d358907c25b5@eisentraut.org

src/backend/utils/adt/mcxtfuncs.c
src/backend/utils/mmgr/mcxt.c
src/include/utils/memutils.h

index 3ede88e503649e6607016c123dc9de5e22f8628a..254cdd34fbaca2f021aaee96bb333810ea754aed 100644 (file)
@@ -533,21 +533,21 @@ pg_get_process_memory_contexts(PG_FUNCTION_ARGS)
         */
        Assert(memCxtArea->memstats_dsa_handle != DSA_HANDLE_INVALID);
        /* Attach to the dsa area if we have not already done so */
-       if (area == NULL)
+       if (MemoryStatsDsaArea == NULL)
        {
                MemoryContext oldcontext = CurrentMemoryContext;
 
                MemoryContextSwitchTo(TopMemoryContext);
-               area = dsa_attach(memCxtArea->memstats_dsa_handle);
+               MemoryStatsDsaArea = dsa_attach(memCxtArea->memstats_dsa_handle);
                MemoryContextSwitchTo(oldcontext);
-               dsa_pin_mapping(area);
+               dsa_pin_mapping(MemoryStatsDsaArea);
        }
 
        /*
         * Backend has finished publishing the stats, project them.
         */
        memcxt_info = (MemoryStatsEntry *)
-               dsa_get_address(area, memCxtState[procNumber].memstats_dsa_pointer);
+               dsa_get_address(MemoryStatsDsaArea, memCxtState[procNumber].memstats_dsa_pointer);
 
 #define PG_GET_PROCESS_MEMORY_CONTEXTS_COLS    12
        for (int i = 0; i < memCxtState[procNumber].total_stats; i++)
@@ -566,7 +566,7 @@ pg_get_process_memory_contexts(PG_FUNCTION_ARGS)
 
                if (DsaPointerIsValid(memcxt_info[i].name))
                {
-                       name = (char *) dsa_get_address(area, memcxt_info[i].name);
+                       name = (char *) dsa_get_address(MemoryStatsDsaArea, memcxt_info[i].name);
                        values[0] = CStringGetTextDatum(name);
                }
                else
@@ -574,7 +574,7 @@ pg_get_process_memory_contexts(PG_FUNCTION_ARGS)
 
                if (DsaPointerIsValid(memcxt_info[i].ident))
                {
-                       ident = (char *) dsa_get_address(area, memcxt_info[i].ident);
+                       ident = (char *) dsa_get_address(MemoryStatsDsaArea, memcxt_info[i].ident);
                        values[1] = CStringGetTextDatum(ident);
                }
                else
@@ -586,7 +586,7 @@ pg_get_process_memory_contexts(PG_FUNCTION_ARGS)
                path_datum = (Datum *) palloc(path_length * sizeof(Datum));
                if (DsaPointerIsValid(memcxt_info[i].path))
                {
-                       path_int = (int *) dsa_get_address(area, memcxt_info[i].path);
+                       path_int = (int *) dsa_get_address(MemoryStatsDsaArea, memcxt_info[i].path);
                        for (int j = 0; j < path_length; j++)
                                path_datum[j] = Int32GetDatum(path_int[j]);
                        path_array = construct_array_builtin(path_datum, path_length, INT4OID);
index cf4e22bf1cca619587620a8504c9568e573eac7d..677ee42596f5d36e5edf9a4f84ffc6249f0bff12 100644 (file)
@@ -172,7 +172,7 @@ MemoryContext CurTransactionContext = NULL;
 
 /* This is a transient link to the active portal's memory context: */
 MemoryContext PortalContext = NULL;
-dsa_area   *area = NULL;
+dsa_area   *MemoryStatsDsaArea = NULL;
 
 static void MemoryContextDeleteOnly(MemoryContext context);
 static void MemoryContextCallResetCallbacks(MemoryContext context);
@@ -1499,19 +1499,19 @@ ProcessGetMemoryContextInterrupt(void)
 
                MemoryContextSwitchTo(TopMemoryContext);
 
-               area = dsa_create(memCxtArea->lw_lock.tranche);
+               MemoryStatsDsaArea = dsa_create(memCxtArea->lw_lock.tranche);
 
-               handle = dsa_get_handle(area);
+               handle = dsa_get_handle(MemoryStatsDsaArea);
                MemoryContextSwitchTo(oldcontext);
 
-               dsa_pin_mapping(area);
+               dsa_pin_mapping(MemoryStatsDsaArea);
 
                /*
                 * Pin the DSA area, this is to make sure the area remains attachable
                 * even if current backend exits. This is done so that the statistics
                 * are published even if the process exits while a client is waiting.
                 */
-               dsa_pin(area);
+               dsa_pin(MemoryStatsDsaArea);
 
                /* Set the handle in shared memory */
                memCxtArea->memstats_dsa_handle = handle;
@@ -1521,14 +1521,14 @@ ProcessGetMemoryContextInterrupt(void)
         * If DSA exists, created by another process publishing statistics, attach
         * to it.
         */
-       else if (area == NULL)
+       else if (MemoryStatsDsaArea == NULL)
        {
                MemoryContext oldcontext = CurrentMemoryContext;
 
                MemoryContextSwitchTo(TopMemoryContext);
-               area = dsa_attach(memCxtArea->memstats_dsa_handle);
+               MemoryStatsDsaArea = dsa_attach(memCxtArea->memstats_dsa_handle);
                MemoryContextSwitchTo(oldcontext);
-               dsa_pin_mapping(area);
+               dsa_pin_mapping(MemoryStatsDsaArea);
        }
        LWLockRelease(&memCxtArea->lw_lock);
 
@@ -1545,7 +1545,7 @@ ProcessGetMemoryContextInterrupt(void)
                 * Free any previous allocations, free the name, ident and path
                 * pointers before freeing the pointer that contains them.
                 */
-               free_memorycontextstate_dsa(area, memCxtState[idx].total_stats,
+               free_memorycontextstate_dsa(MemoryStatsDsaArea, memCxtState[idx].total_stats,
                                                                        memCxtState[idx].memstats_dsa_pointer);
        }
 
@@ -1556,10 +1556,10 @@ ProcessGetMemoryContextInterrupt(void)
         */
        memCxtState[idx].total_stats = stats_num;
        memCxtState[idx].memstats_dsa_pointer =
-               dsa_allocate0(area, stats_num * sizeof(MemoryStatsEntry));
+               dsa_allocate0(MemoryStatsDsaArea, stats_num * sizeof(MemoryStatsEntry));
 
        meminfo = (MemoryStatsEntry *)
-               dsa_get_address(area, memCxtState[idx].memstats_dsa_pointer);
+               dsa_get_address(MemoryStatsDsaArea, memCxtState[idx].memstats_dsa_pointer);
 
        if (summary)
        {
@@ -1572,7 +1572,7 @@ ProcessGetMemoryContextInterrupt(void)
                                                                                         &stat, true);
                path = lcons_int(1, path);
                PublishMemoryContext(meminfo, cxt_id, TopMemoryContext, path, stat,
-                                                        1, area, 100);
+                                                        1, MemoryStatsDsaArea, 100);
                cxt_id = cxt_id + 1;
 
                /*
@@ -1602,7 +1602,7 @@ ProcessGetMemoryContextInterrupt(void)
                         */
                        memCxtState[idx].total_stats = cxt_id++;
                        PublishMemoryContext(meminfo, cxt_id, c, path,
-                                                                grand_totals, num_contexts, area, 100);
+                                                                grand_totals, num_contexts, MemoryStatsDsaArea, 100);
                }
                memCxtState[idx].total_stats = cxt_id;
 
@@ -1632,7 +1632,7 @@ ProcessGetMemoryContextInterrupt(void)
                if (context_id < (max_stats - 1) || stats_count <= max_stats)
                {
                        /* Copy statistics to DSA memory */
-                       PublishMemoryContext(meminfo, context_id, cur, path, stat, 1, area, 100);
+                       PublishMemoryContext(meminfo, context_id, cur, path, stat, 1, MemoryStatsDsaArea, 100);
                }
                else
                {
@@ -1657,8 +1657,8 @@ ProcessGetMemoryContextInterrupt(void)
                        int                     namelen = strlen("Remaining Totals");
 
                        num_individual_stats = context_id + 1;
-                       meminfo[max_stats - 1].name = dsa_allocate(area, namelen + 1);
-                       nameptr = dsa_get_address(area, meminfo[max_stats - 1].name);
+                       meminfo[max_stats - 1].name = dsa_allocate(MemoryStatsDsaArea, namelen + 1);
+                       nameptr = dsa_get_address(MemoryStatsDsaArea, meminfo[max_stats - 1].name);
                        strncpy(nameptr, "Remaining Totals", namelen);
                        meminfo[max_stats - 1].ident = InvalidDsaPointer;
                        meminfo[max_stats - 1].path = InvalidDsaPointer;
@@ -1921,18 +1921,18 @@ AtProcExit_memstats_cleanup(int code, Datum arg)
        }
 
        /* If the dsa mapping could not be found, attach to the area */
-       if (area == NULL)
-               area = dsa_attach(memCxtArea->memstats_dsa_handle);
+       if (MemoryStatsDsaArea == NULL)
+               MemoryStatsDsaArea = dsa_attach(memCxtArea->memstats_dsa_handle);
 
        /*
         * Free the memory context statistics, free the name, ident and path
         * pointers before freeing the pointer that contains these pointers and
         * integer statistics.
         */
-       free_memorycontextstate_dsa(area, memCxtState[idx].total_stats,
+       free_memorycontextstate_dsa(MemoryStatsDsaArea, memCxtState[idx].total_stats,
                                                                memCxtState[idx].memstats_dsa_pointer);
 
-       dsa_detach(area);
+       dsa_detach(MemoryStatsDsaArea);
        LWLockRelease(&memCxtState[idx].lw_lock);
 }
 
index d328270fafcf098a5ca66ed345be1374d69175a7..c0987dca155fa9cd18ae8a08dca295afcbcdb29d 100644 (file)
@@ -394,11 +394,11 @@ typedef struct MemoryStatsContextId
 
 extern PGDLLIMPORT MemoryStatsBackendState *memCxtState;
 extern PGDLLIMPORT MemoryStatsCtl *memCxtArea;
+extern PGDLLIMPORT dsa_area *MemoryStatsDsaArea;
 extern void ProcessGetMemoryContextInterrupt(void);
 extern const char *ContextTypeToString(NodeTag type);
 extern void HandleGetMemoryContextInterrupt(void);
 extern Size MemoryContextReportingShmemSize(void);
 extern void MemoryContextReportingShmemInit(void);
 extern void AtProcExit_memstats_cleanup(int code, Datum arg);
-extern dsa_area *area;
 #endif                                                 /* MEMUTILS_H */