Re: SlabCheck leaks memory into TopMemoryContext
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Tomas Vondra <tv@fuzzy.cz>, pgsql-hackers@postgresql.org
Date: 2020-01-16T06:25:00Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> On 2020-01-16 00:09:53 -0500, Tom Lane wrote:
>> It's basically assuming that the memory management mechanism is sane,
>> which makes the whole thing fundamentally circular, even if it's
>> relying on some other context to be sane. Is there a way to do the
>> checking without extra allocations?
> Probably not easily.
In the AllocSet code, we don't hesitate to expend extra space per-chunk
for debug support:
typedef struct AllocChunkData
{
...
#ifdef MEMORY_CONTEXT_CHECKING
Size requested_size;
#endif
...
I don't see a pressing reason why SlabContext couldn't do something
similar, either per-chunk or per-context, whatever makes sense.
regards, tom lane
Commits
-
Allocate freechunks bitmap as part of SlabContext
- a801452c9e30 10.12 landed
- 8c37e4469d13 11.7 landed
- 162c951dfe8f 12.2 landed
- 543852fd8bf0 13.0 landed