fix-for-huge_page_size.patch
text/x-patch
Filename: fix-for-huge_page_size.patch
Type: text/x-patch
Part: 1
Message:
Set huge_page_size on 32bit system
Patch
Format: unified
| File | + | − |
|---|---|---|
| src/backend/port/sysv_shmem.c | 7 | 0 |
diff --git a/src/backend/port/sysv_shmem.c b/src/backend/port/sysv_shmem.c
index 2e3886cf9fe..8bb31698bd0 100644
--- a/src/backend/port/sysv_shmem.c
+++ b/src/backend/port/sysv_shmem.c
@@ -618,6 +618,13 @@ CreateAnonymousSegment(Size *size)
GetHugePageSize(&hugepagesize, &huge_mmap_flags);
+ if (hugepagesize == 0)
+ ereport(ERROR,
+ (errcode(ERRCODE_OUT_OF_MEMORY),
+ errmsg("Cannot alocate %d bytes of memory", hugepagesize),
+ errhint("It is necessary to reduce the amount of the configuration parameter \'huge_page_size\' (currently huge_page_size %d kB)",
+ huge_page_size)));
+
if (allocsize % hugepagesize != 0)
allocsize = add_size(allocsize, hugepagesize - (allocsize % hugepagesize));