Re: introduce dynamic shared memory registry

Nathan Bossart <nathandbossart@gmail.com>

From: Nathan Bossart <nathandbossart@gmail.com>
To: Zhang Mingli <zmlpostgres@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2023-12-20T16:18:36Z
Lists: pgsql-hackers
On Thu, Dec 21, 2023 at 12:03:18AM +0800, Zhang Mingli wrote:
> I see most xxxShmemInit functions have the logic to handle IsUnderPostmaster env.
> Do we need to consider it in DSMRegistryShmemInit() too? For example, add some assertions.
> Others LGTM.

Good point.  I _think_ the registry is safe to set up and use in
single-user mode but not in a regular postmaster process.  It'd probably be
wise to add some assertions along those lines, but even if we didn't, I
think the DSM code has existing assertions that will catch it.  In any
case, I'd like to avoid requiring folks to add special
single-user-mode-only logic if we can avoid it.

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com



Commits

  1. Fix possible NULL pointer dereference in GetNamedDSMSegment().

  2. Teach autoprewarm to use the dynamic shared memory registry.

  3. Introduce the dynamic shared memory registry.

  4. doc: Reorganize section for shared memory and LWLocks.