Re: BUG #18049: dynamic_shared_memory_type's value `posix` doesn't have any effect, syscall shm_get executes

From: jitu <jkr0103(at)gmail(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #18049: dynamic_shared_memory_type's value `posix` doesn't have any effect, syscall shm_get executes
Date: 2023-08-07 14:38:19
Message-ID: CAMg5i4dDKw7c+ODN-Fyn=6KRuA-1EWJsWfT=i5=eFMLVy2c39g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Thanks Andrew for the response but I did not understand it.

Documentation here
https://postgresqlco.nf/doc/en/param/dynamic_shared_memory_type/ says for
`posix` value `shm_open` syscall should be generated which I don't see.
Also I added logline in `postgres/src/backend/storage/ipc/dsm_impl.c`
inside function `dsm_impl_op` to print `dynamic_shared_memory_type` value
which printed 1 (DSM_IMPL_POSIX). but still strace doesn't show `shm_open`
call.

On Fri, Aug 4, 2023 at 6:52 PM Andrew Dunstan <andrew(at)dunslane(dot)net> wrote:

>
> On 2023-08-04 Fr 01:22, PG Bug reporting form wrote:
>
> The following bug has been logged on the website:
>
> Bug reference: 18049
> Logged by: Jitender Kumar
> Email address: jkr0103(at)gmail(dot)com
> PostgreSQL version: 12.1
> Operating system: ubuntu 20.04
> Description:
>
> Expected `shm_open` syscall for the `posix` value of
> `dynamic_shared_memory_type` parameter but strace shows `shm_get` being
> executed.
>
>
>
> src/backend/port/sysv_shmem. says:
> * As of PostgreSQL 9.3, we normally allocate only a very small amount of
> * System V shared memory, and only for the purposes of providing an
> * interlock to protect the data directory.
>
> while src/backend/storage/ipc/dsm_impl.c says:
>
> * This file provides low-level APIs for creating and destroying shared
> * memory segments using several different possible techniques. We refer
> * to these segments as dynamic because they can be created, altered, and
> * destroyed at any point during the server life cycle. This is unlike
> * the main shared memory segment, of which there is always exactly one
> * and which is always mapped at a fixed address in every PostgreSQL
> * background process.
>
> So AIUI you should always see a call like this when Postgres starts.
>
>
>
> cheers
>
>
> andrew
>
>
> --
> Andrew Dunstan
> EDB: https://www.enterprisedb.com
>
>

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Michael Paquier 2023-08-07 23:20:48 Re: search_path not recomputed when role name changes
Previous Message Jacob Pfundstein 2023-08-06 16:19:52 PostgreSQL doesn't display exact version