Re: O(1) DSM handle operations - Mailing list pgsql-hackers

From Robert Haas
Subject Re: O(1) DSM handle operations
Date
Msg-id CA+TgmobPLdbv6z_0daXTSeUnwo1RTFG1wrkESECVxXy1xS85FA@mail.gmail.com
Whole thread Raw
In response to Re: O(1) DSM handle operations  (Thomas Munro <thomas.munro@enterprisedb.com>)
List pgsql-hackers
On Mon, Mar 27, 2017 at 11:47 PM, Thomas Munro
<thomas.munro@enterprisedb.com> wrote:
> Couldn't cleanup code continue to work just the same way though?  The
> only extra structure is an intrusive freelist, but that could be
> completely ignored by code that wants to scan the whole array after
> crash.  It would only be used to find a free slot after successful
> restart, once the freelist is rebuilt and known to be sane, and could
> be sanity checked when accessed by dsm_create.  So idea 2 doesn't seem
> to make that code any less robust, does it?

Agreed.

> Deterministic key_t values for SysV IPC do seem problematic thought,
> for multiple PostgreSQL clusters.  Maybe that is a serious problem for
> idea 1.

It might be.

Mostly, even if we had no PostgreSQL-imposed limits here at all, I
don't share your confidence that we create tons of DSM segments and
everything will just work.  I think we'll run into operating system
limits pretty quickly -- either hard limits, like limits on the number
of segments supported, or soft limits, like difficulties handling
large numbers of memory mappings with good performance.  I personally
think it would be more worthwhile to work on
http://postgr.es/m/CA+TgmoZVqXATOGEKFdnG_sMugx_iT8_B4L0OKJZeowHburMkiQ@mail.gmail.com
instead, but I will be a little too busy to write that patch this
week.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Removing binaries
Next
From: Jeff Janes
Date:
Subject: Fwd: free space map and visibility map