hugetlb.diff
text/x-patch
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: unified
| File | + | − |
|---|---|---|
| src/backend/port/sysv_shmem.c | 5 | 1 |
diff --git a/src/backend/port/sysv_shmem.c b/src/backend/port/sysv_shmem.c
index e040400..05bbdf6 100644
--- a/src/backend/port/sysv_shmem.c
+++ b/src/backend/port/sysv_shmem.c
@@ -54,7 +54,7 @@ typedef int IpcMemoryId; /* shared memory ID returned by shmget(2) */
#define MAP_HASSEMAPHORE 0
#endif
-#define PG_MMAP_FLAGS (MAP_SHARED|MAP_ANONYMOUS|MAP_HASSEMAPHORE)
+#define PG_MMAP_FLAGS (MAP_SHARED|MAP_ANONYMOUS|MAP_HASSEMAPHORE|MAP_HUGETLB)
/* Some really old systems don't define MAP_FAILED. */
#ifndef MAP_FAILED
@@ -407,6 +407,10 @@ PGSharedMemoryCreate(Size size, bool makePrivate, int port)
{
long pagesize = sysconf(_SC_PAGE_SIZE);
+ /* round up to hugetlb size on x86-64 linux */
+ if(pagesize < (1024*2048))
+ pagesize = 1024*2048;
+
/*
* Ensure request size is a multiple of pagesize.
*