Re: [COMMITTERS] pgsql: Introduce dynamic shared memory areas.

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Robert Haas <rhaas(at)postgresql(dot)org>
Cc: PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [COMMITTERS] pgsql: Introduce dynamic shared memory areas.
Date: 2016-12-05 12:18:55
Message-ID: CAB7nPqSAYdAfMAx0F+r1Z6quebc4SJDaK4uiJW9cpxnDizc8Lg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On Fri, Dec 2, 2016 at 9:36 AM, Robert Haas <rhaas(at)postgresql(dot)org> wrote:
> Introduce dynamic shared memory areas.
>
> Programmers discovered decades ago that it was useful to have a simple
> interface for allocating and freeing memory, which is why malloc() and
> free() were invented. Unfortunately, those handy tools don't work
> with dynamic shared memory segments because those are specific to
> PostgreSQL and are not necessarily mapped at the same address in every
> cooperating process. So invent our own allocator instead. This makes
> it possible for processes cooperating as part of parallel query
> execution to allocate and free chunks of memory without having to
> reserve them prior to the start of execution. It could also be used
> for longer lived objects; for example, we could consider storing data
> for pg_stat_statements or the stats collector in shared memory using
> these interfaces, rather than writing them to files. Basically,
> anything that needs shared memory but can't predict in advance how
> much it's going to need might find this useful.
>
> Thomas Munro and Robert Haas. The original code (of mine) on which
> Thomas based his work was actually designed to be a new backend-local
> memory allocator for PostgreSQL, but that hasn't gone anywhere - or
> not yet, anyway. Thomas took that work and performed major
> refactoring and extensive modifications to make it work with dynamic
> shared memory, including the addition of appropriate locking.

This commit is generating a warning when compiling on my Win7 dev box:
"C:\Users\ioltas\git\postgres\pgsql.sln" (default target) (1) ->
"C:\Users\ioltas\git\postgres\postgres.vcxproj" (default target) (2) ->
(ClCompile target) ->
src/backend/utils/mmgr/dsa.c(1921): warning C4334: '<<' : result of 32-bit sh
ift implicitly converted to 64 bits (was 64-bit shift intended?) [C:\Users\iolt
as\git\postgres\postgres.vcxproj]

1 Warning(s)
0 Error(s)
--
Michael

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2016-12-05 12:52:27 pgsql: Fix creation of stand-alone INSTALL.html file.
Previous Message Fujii Masao 2016-12-05 11:48:37 pgsql: Fix typo in docs.

Browse pgsql-hackers by date

  From Date Subject
Next Message Masahiko Sawada 2016-12-05 12:30:17 Re: [HACKERS] Re: [HACKERS] 答复: [HACKERS] postgres 1 个(共 2 个) can pg 9.6 vacuum freeze skip page on index?
Previous Message Ashutosh Bapat 2016-12-05 12:15:17 Re: The max value of autovacuum_vacuum/analyze_scale_factor.