On Fri, Feb 12, 2016 at 11:19 PM, Fujii Masao <masao.fu...@gmail.com> wrote: > On Fri, Feb 5, 2016 at 2:17 PM, Kyotaro HORIGUCHI > <horiguchi.kyot...@lab.ntt.co.jp> wrote: >> At Thu, 4 Feb 2016 21:43:04 +0900, Fujii Masao <masao.fu...@gmail.com> wrote >> in <cahgqgwhgbsat29_zqk3axg4a5lsa0juv579vkgwx3r_g0ko...@mail.gmail.com> >>> On Wed, Feb 3, 2016 at 12:51 PM, Kyotaro HORIGUCHI >>> <horiguchi.kyot...@lab.ntt.co.jp> wrote: >>> > Hello, I found that the formulas to calculate SEMMNI and SEMMNS >>> > are incorrect in 9.2 and later. >>> > >>> > http://www.postgresql.org/docs/9.5/static/kernel-resources.html >>> > >>> > But actually the number of semaphores PostgreSQL needs is >>> > calculated as following in 9.4 and later. >> ... >>> > So, the formula for SEMMNI should be >>> > >>> > ceil((max_connections + autovacuum_max_workers + max_worker_processes + >>> > 5) / 16) >>> > >>> > and SEMMNS should have the same fix. >>> > >>> > >>> > In 9.3 and 9.2, the documentation says the same thing but >> ... >>> > ceil((max_connections + autovacuum_max_workers + 5) / 16) >>> > >>> > In 9.1, NUM_AUXILIARY_PROCS is 3 so the documentations is correct. >>> >>> Good catch! >> >> Thanks. >> >>> ISTM that you also need to change the descriptions about SEMMNI and SEMMNS >>> under the Table 17-1. >> >> Oops! Thank you for pointing it out. >> >> The original description doesn't mention the magic-number ('5' in >> the above formulas, which previously was '4') so I haven't added >> anything about it. >> >> Process of which the number is limited by max_worker_processes is >> called 'background process' (not 'backend worker') in the >> documentation so I used the name to mention it in the additional >> description. >> >> The difference in the body text for 9.2, 9.3 is only a literal >> '4' to '5' in the formula. > > Thanks for updating the patches! > > They look good to me except that the formulas don't include the number of > background processes requesting shared memory access, i.e., > GetNumShmemAttachedBgworkers(), in 9.3. Isn't it better to use the following > formula in 9.3? > > ceil((max_connections + autovacuum_max_workers + number of > background proceses + 5) / 16) > > Attached patch uses the above formula for 9.3. I'm thinking to push your > patches to 9.2, 9.4, 9.5, master, also push the attached one to 9.3. > Comments?
Pushed. Thanks for the report and patches! Regards, -- Fujii Masao -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers