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

Поиск
Список
Период
Сортировка
От jitu
Тема Re: BUG #18049: dynamic_shared_memory_type's value `posix` doesn't have any effect, syscall shm_get executes
Дата
Msg-id CAMg5i4dDKw7c+ODN-Fyn=6KRuA-1EWJsWfT=i5=eFMLVy2c39g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: BUG #18049: dynamic_shared_memory_type's value `posix` doesn't have any effect, syscall shm_get executes  (Andrew Dunstan <andrew@dunslane.net>)
Список 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@dunslane.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@gmail.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

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Jacob Pfundstein
Дата:
Сообщение: PostgreSQL doesn't display exact version
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: search_path not recomputed when role name changes