pgsql: Allocate freechunks bitmap as part of SlabContext

Поиск
Список
Период
Сортировка
От Tomas Vondra
Тема pgsql: Allocate freechunks bitmap as part of SlabContext
Дата
Msg-id E1isSf8-0002JM-3u@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Allocate freechunks bitmap as part of SlabContext

The bitmap used by SlabCheck to cross-check free chunks in a block used
to be allocated for each SlabCheck call, and was never freed. The memory
leak could be fixed by simply adding a pfree call, but it's actually a
bad idea to do any allocations in SlabCheck at all as it assumes the
state of the memory management as a whole is sane.

So instead we allocate the bitmap as part of SlabContext, which means
we don't need to do any allocations in SlabCheck and the bitmap goes
away together with the SlabContext.

Backpatch to 10, where the Slab context was introduced.

Author: Tomas Vondra
Reported-by: Andres Freund
Reviewed-by: Tom Lane
Backpatch-through: 10
Discussion: https://www.postgresql.org/message-id/20200116044119.g45f7pmgz4jmodxj%40alap3.anarazel.de

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/8c37e4469d13e34d80b6f561f617bd4bfe339c6c

Modified Files
--------------
src/backend/utils/mmgr/slab.c | 28 +++++++++++++++++++++-------
1 file changed, 21 insertions(+), 7 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tomas Vondra
Дата:
Сообщение: pgsql: Allocate freechunks bitmap as part of SlabContext
Следующее
От: Tomas Vondra
Дата:
Сообщение: pgsql: Allocate freechunks bitmap as part of SlabContext