pgsql: Preallocate some DSM space at startup.

From: Thomas Munro <tmunro(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Preallocate some DSM space at startup.
Date: 2020-07-31 05:54:45
Message-ID: E1k1O0D-0001Cg-SJ@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Preallocate some DSM space at startup.

Create an optional region in the main shared memory segment that can be
used to acquire and release "fast" DSM segments, and can benefit from
huge pages allocated at cluster startup time, if configured. Fall back
to the existing mechanisms when that space is full. The size is
controlled by a new GUC min_dynamic_shared_memory, defaulting to 0.

Main region DSM segments initially contain whatever garbage the memory
held last time they were used, rather than zeroes. That change revealed
that DSA areas failed to initialize themselves correctly in memory that
wasn't zeroed first, so fix that problem.

Discussion: https://postgr.es/m/CA%2BhUKGLAE2QBv-WgGp%2BD9P_J-%3Dyne3zof9nfMaqq1h3EGHFXYQ%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/84b1c63ad41872792d47e523363fce1f0e230022

Modified Files
--------------
doc/src/sgml/config.sgml | 24 ++++
src/backend/storage/ipc/dsm.c | 191 +++++++++++++++++++++++---
src/backend/storage/ipc/dsm_impl.c | 3 +
src/backend/storage/ipc/ipci.c | 3 +
src/backend/utils/misc/guc.c | 11 ++
src/backend/utils/misc/postgresql.conf.sample | 1 +
src/backend/utils/mmgr/dsa.c | 5 +-
src/include/storage/dsm.h | 3 +
src/include/storage/dsm_impl.h | 1 +
9 files changed, 216 insertions(+), 26 deletions(-)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2020-07-31 06:26:26 Re: pgsql: Preallocate some DSM space at startup.
Previous Message Michael Paquier 2020-07-31 05:24:46 pgsql: Fix comment in instrument.h