Re: Calling PGReserveSemaphores() from CreateOrAttachShmemStructs
Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
From: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>,
Dmitry Dolgov <9erthalion6@gmail.com>
Date: 2025-08-26T07:11:44Z
Lists: pgsql-hackers
Attachments
- 0001-PGReserveSemaphores-called-from-CreateShare-20250826.patch (text/x-patch) patch 0001
- 0002-Refactor-shared-memory-allocation-for-semap-20250826.patch (text/x-patch) patch 0002
Hi Thomas, On Mon, Aug 25, 2025 at 3:11 PM Thomas Munro <thomas.munro@gmail.com> wrote: > > On Mon, Aug 25, 2025 at 9:10 PM Ashutosh Bapat > <ashutosh.bapat.oss@gmail.com> wrote: > > Is this change correct? Was there any reason to leave it like that in > > e25626677f8076eb3ce94586136c5464ee154381? Or was it just something > > that didn't fit in that commit? > > We/I just missed that opportunity when ripping that stuff out. It > sounds like we might need a comment-only patch to back-patch to 18 > that would say something like "this is done here for historical > reasons" so as not to confuse people with obsolete nonsense, and a > follow up patch for master to do things in a more straightforward way > as you said. Thanks for the confirmation. Attached patchset has two patches 0001 - backpatchable, adds the comment. 0002 - actual code changes for master. The changes are described in the commit message in detail. I think ProcGlobalSemas() too, can be converted into a macro or can be declared static inline, but I haven't done so. I think it eliminates all the asymmetric handling of semaphores. > > > If the change looks safe and useful, I will create CF entry for it so > > that the patch gets tested on all platforms, and thus with different > > definitions of PGReserveSemaphores(). > > +1, will review, thanks! Added a CF entry so that CI tests the changes on many platforms. https://commitfest.postgresql.org/patch/5997/ -- Best Wishes, Ashutosh Bapat
Commits
-
Refactor shared memory allocation for semaphores
- aa9c5fd3e3d7 19 (unreleased) landed
-
Add comment to explain why PGReserveSemaphores() is called early
- 75ec47c38bcf 18.1 landed
- daf3d99d2b8b 19 (unreleased) landed
-
Remove --disable-spinlocks.
- e25626677f80 18.0 cited