Re: introduce dynamic shared memory registry
Andrei Lepikhov <a.lepikhov@postgrespro.ru>
From: Andrei Lepikhov <a.lepikhov@postgrespro.ru>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>, Robert Haas
<robertmhaas@gmail.com>, pgsql-hackers@postgresql.org
Date: 2023-12-21T06:50:43Z
Lists: pgsql-hackers
On 20/12/2023 17:33, Nathan Bossart wrote: > On Wed, Dec 20, 2023 at 11:02:58AM +0200, Andrei Lepikhov wrote: >> In that case, maybe change the test case to make it closer to real-life >> usage - with locks and concurrent access (See attachment)? > > I'm not following why we should make this test case more complicated. It > is only intended to test the DSM registry machinery, and setting/retrieving > an atomic variable seems like a realistic use-case to me. I could provide you at least two reasons here: 1. A More complicated example would be a tutorial on using the feature correctly. It will reduce the number of questions in mailing lists. 2. Looking into existing extensions, I see that the most common case of using a shared memory segment is maintaining some hash table or state structure that needs at least one lock. Try to rewrite the pg_prewarm according to this new feature, and you will realize how difficult it is. -- regards, Andrei Lepikhov Postgres Professional
Commits
-
Fix possible NULL pointer dereference in GetNamedDSMSegment().
- 4372adfa24f2 17.0 landed
-
Teach autoprewarm to use the dynamic shared memory registry.
- abb0b4fc03fc 17.0 landed
-
Introduce the dynamic shared memory registry.
- 8b2bcf3f287c 17.0 landed
-
doc: Reorganize section for shared memory and LWLocks.
- 964152c476f2 17.0 landed