Re: pgsql: Invent a memory context reset/delete callback mechanism.

Поиск
Список
Период
Сортировка
От Jeff Davis
Тема Re: pgsql: Invent a memory context reset/delete callback mechanism.
Дата
Msg-id 1425086819.12308.273.camel@jeff-desktop
обсуждение исходный текст
Ответ на pgsql: Invent a memory context reset/delete callback mechanism.  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: pgsql: Invent a memory context reset/delete callback mechanism.
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Improve mmgr README.