diff --git a/src/backend/utils/mmgr/aset.c b/src/backend/utils/mmgr/aset.c index b6eeb8abab..f4977f9bcc 100644 --- a/src/backend/utils/mmgr/aset.c +++ b/src/backend/utils/mmgr/aset.c @@ -46,6 +46,7 @@ #include "postgres.h" +#include "miscadmin.h" #include "port/pg_bitutils.h" #include "utils/memdebug.h" #include "utils/memutils.h" @@ -696,9 +697,22 @@ AllocSetAlloc(MemoryContext context, Size size) int fidx; Size chunk_size; Size blksize; + static int rlevel = 1; AssertArg(AllocSetIsValid(set)); + if (rlevel == 1 && GetProcessingMode() == NormalProcessing) + { + rlevel++; + elog(LOG, "AllocSetAlloc,%s,%zu,%zu,%zu,%zu", + context->name, + size, + MAXALIGN(size), + size > set->allocChunkLimit ? 0 : GetChunkSizeFromFreeListIdx(AllocSetFreeIndex(size)), + set->allocChunkLimit); + rlevel--; + } + /* * If requested size exceeds maximum for chunks, allocate an entire block * for this request. diff --git a/src/backend/utils/mmgr/generation.c b/src/backend/utils/mmgr/generation.c index b39894ec94..9c5ff3c095 100644 --- a/src/backend/utils/mmgr/generation.c +++ b/src/backend/utils/mmgr/generation.c @@ -36,6 +36,7 @@ #include "postgres.h" #include "lib/ilist.h" +#include "miscadmin.h" #include "port/pg_bitutils.h" #include "utils/memdebug.h" #include "utils/memutils.h" @@ -344,6 +345,18 @@ GenerationAlloc(MemoryContext context, Size size) MemoryChunk *chunk; Size chunk_size = MAXALIGN(size); Size required_size = chunk_size + Generation_CHUNKHDRSZ; + static int rlevel = 1; + + if (rlevel == 1 && GetProcessingMode() == NormalProcessing) + { + rlevel++; + elog(LOG, "GenerationAlloc,%s,%zu,%zu,0,%zu", + context->name, + size, + MAXALIGN(size), + set->allocChunkLimit); + rlevel--; + } /* is it an over-sized chunk? if yes, allocate special block */ if (chunk_size > set->allocChunkLimit)