Fix some rounding code for shared memory.
Nathan Bossart <nathan@postgresql.org>
Fix some rounding code for shared memory. InitializeShmemGUCs() always added 1 to the value calculated for shared_memory_size_in_huge_pages, which is unnecessary if the shared memory size is divisible by the huge page size. CreateAnonymousSegment() neglected to check for overflow when rounding up to a multiple of the huge page size. These are arguably bugs, but they seem extremely unlikely to be causing problems in practice, so no back-patch. Author: Anthonin Bonnefoy <anthonin.bonnefoy@datadoghq.com> Reviewed-by: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com> Reviewed-by: Michael Paquier <michael@paquier.xyz> Discussion: https://postgr.es/m/CAO6_Xqq2vZbva0R9eQSY0p2kfksX2aP4r%3D%2BZ_q1HBYNU%3Dm8bBg%40mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/port/sysv_shmem.c | modified | +1 −1 |
| src/backend/storage/ipc/ipci.c | modified | +3 −1 |
Discussion
- Fix rounding method used to compute huge pages 8 messages · 2026-01-22 → 2026-01-23