summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/port/sysv_shmem.c2
-rw-r--r--src/backend/storage/ipc/ipci.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/src/backend/port/sysv_shmem.c b/src/backend/port/sysv_shmem.c
index de491897118..53f7a64fa45 100644
--- a/src/backend/port/sysv_shmem.c
+++ b/src/backend/port/sysv_shmem.c
@@ -617,7 +617,7 @@ CreateAnonymousSegment(Size *size)
GetHugePageSize(&hugepagesize, &mmap_flags);
if (allocsize % hugepagesize != 0)
- allocsize += hugepagesize - (allocsize % hugepagesize);
+ allocsize = add_size(allocsize, hugepagesize - (allocsize % hugepagesize));
ptr = mmap(NULL, allocsize, PROT_READ | PROT_WRITE,
PG_MMAP_FLAGS | mmap_flags, -1, 0);
diff --git a/src/backend/storage/ipc/ipci.c b/src/backend/storage/ipc/ipci.c
index 85c67b2c183..2a3dfedf7e9 100644
--- a/src/backend/storage/ipc/ipci.c
+++ b/src/backend/storage/ipc/ipci.c
@@ -363,7 +363,9 @@ InitializeShmemGUCs(void)
{
Size hp_required;
- hp_required = add_size(size_b / hp_size, 1);
+ hp_required = size_b / hp_size;
+ if (size_b % hp_size != 0)
+ hp_required = add_size(hp_required, 1);
sprintf(buf, "%zu", hp_required);
SetConfigOption("shared_memory_size_in_huge_pages", buf,
PGC_INTERNAL, PGC_S_DYNAMIC_DEFAULT);