| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Andres Freund <andres(at)anarazel(dot)de> |
| Cc: | Tomas Vondra <tv(at)fuzzy(dot)cz>, pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: SlabCheck leaks memory into TopMemoryContext |
| Date: | 2020-01-16 06:25:00 |
| Message-ID: | 27213.1579155900@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Andres Freund <andres(at)anarazel(dot)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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andres Freund | 2020-01-16 06:41:43 | Re: SlabCheck leaks memory into TopMemoryContext |
| Previous Message | Andres Freund | 2020-01-16 06:17:32 | Re: SlabCheck leaks memory into TopMemoryContext |