Re: pgsql: Invent a memory context reset/delete callback mechanism. - Mailing list pgsql-committers

From Jeff Davis
Subject Re: pgsql: Invent a memory context reset/delete callback mechanism.
Date
Msg-id 1425086819.12308.273.camel@jeff-desktop
Whole thread Raw
In response to pgsql: Invent a memory context reset/delete callback mechanism.  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-committers
On Fri, 2015-02-27 at 22:17 +0000, Tom Lane wrote:
> In passing, per discussion, rearrange some boolean fields in struct
> MemoryContextData so as to avoid wasted padding space.  For safety,
> this requires making allowInCritSection's existence unconditional;
> but I think that's a better approach than what was there anyway.

I notice that this uses the bytes in MemoryContextData that I was hoping
to use for the memory accounting patch (for memory-bounded HashAgg).

Leaving no space for even a 32-bit value (without AllocSetContext
growing beyond the magical 192-byte number Andres mentioned) removes
most of the options for memory accounting. The only things I can think
of are:

  1. Move a few less-frequently-accessed fields out to an auxiliary
structure (Tomas proposed something similar); or
  2. Walk the memory contexts, but use some kind of
estimation/extrapolation so that it doesn't need to be done for every
input tuple of HashAgg.

Thoughts?

Regards,
    Jeff Davis





pgsql-committers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: pgsql: Invent a memory context reset/delete callback mechanism.
Next
From: Tom Lane
Date:
Subject: pgsql: Improve mmgr README.