summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Freund2022-09-16 21:08:40 +0000
committerAndres Freund2022-09-17 16:04:23 +0000
commit9d3ebba729ebaf5882a92f0f5f662a3312037605 (patch)
treef23028596e46e0bb4d1e9e95cb68d7f935e2fd05
parentfdd8937c071e85e2b7606939fb28284f008e15d1 (diff)
pgstat: Create memory contexts below TopMemoryContext
So far they were created below CacheMemoryContext. However, that's not guaranteed to exist in all situations, leading to memory contexts created as top-level contexts. There isn't actually a good reason anymore to create them below CacheMemoryContext, so just creating them below TopMemoryContext seems the best approach. Reported-by: Reid Thompson <reid.thompson@crunchydata.com> Reviewed-by: Kyotaro Horiguchi <horikyota.ntt@gmail.com> Reviewed-by: Andres Freund <andres@anarazel.de> Author: "Drouvot, Bertrand" <bdrouvot@amazon.com> Discussion: https://postgr.es/m/b948b729-42fe-f88c-2f4a-0e65d84c049b@amazon.com Backpatch: 15-
-rw-r--r--src/backend/utils/activity/pgstat.c2
-rw-r--r--src/backend/utils/activity/pgstat_shmem.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/utils/activity/pgstat.c b/src/backend/utils/activity/pgstat.c
index 6224c498c21..b0ff21b6908 100644
--- a/src/backend/utils/activity/pgstat.c
+++ b/src/backend/utils/activity/pgstat.c
@@ -1069,7 +1069,7 @@ pgstat_prep_pending_entry(PgStat_Kind kind, Oid dboid, Oid objoid, bool *created
if (unlikely(!pgStatPendingContext))
{
pgStatPendingContext =
- AllocSetContextCreate(CacheMemoryContext,
+ AllocSetContextCreate(TopMemoryContext,
"PgStat Pending",
ALLOCSET_SMALL_SIZES);
}
diff --git a/src/backend/utils/activity/pgstat_shmem.c b/src/backend/utils/activity/pgstat_shmem.c
index ac989186884..9a4f037959e 100644
--- a/src/backend/utils/activity/pgstat_shmem.c
+++ b/src/backend/utils/activity/pgstat_shmem.c
@@ -992,12 +992,12 @@ pgstat_setup_memcxt(void)
{
if (unlikely(!pgStatSharedRefContext))
pgStatSharedRefContext =
- AllocSetContextCreate(CacheMemoryContext,
+ AllocSetContextCreate(TopMemoryContext,
"PgStat Shared Ref",
ALLOCSET_SMALL_SIZES);
if (unlikely(!pgStatEntryRefHashContext))
pgStatEntryRefHashContext =
- AllocSetContextCreate(CacheMemoryContext,
+ AllocSetContextCreate(TopMemoryContext,
"PgStat Shared Ref Hash",
ALLOCSET_SMALL_SIZES);
}