diff --git a/src/backend/port/sysv_shmem.c b/src/backend/port/sysv_shmem.c index e7474ce..fdf343b 100644 --- a/src/backend/port/sysv_shmem.c +++ b/src/backend/port/sysv_shmem.c @@ -587,6 +587,7 @@ CreateAnonymousSegment(Size *size) Size allocsize = *size; void *ptr = MAP_FAILED; int mmap_errno = 0; + bool with_hugepages = false; #ifndef MAP_HUGETLB /* PGSharedMemoryCreate should have dealt with this case */ @@ -611,6 +612,8 @@ CreateAnonymousSegment(Size *size) if (huge_pages == HUGE_PAGES_TRY && ptr == MAP_FAILED) elog(DEBUG1, "mmap(%zu) with MAP_HUGETLB failed, huge pages disabled: %m", allocsize); + else + with_hugepages = true; } #endif @@ -639,7 +642,8 @@ CreateAnonymousSegment(Size *size) "memory usage, perhaps by reducing shared_buffers or " "max_connections.", allocsize) : 0)); - } + } else if (!with_hugepages && huge_pages == HUGE_PAGES_TRY) + ereport(LOG, (errmsg("Anonymous shared memory was allocated without huge pages."))); *size = allocsize; return ptr; diff --git a/src/backend/port/win32_shmem.c b/src/backend/port/win32_shmem.c index 64fde8d..04c242a 100644 --- a/src/backend/port/win32_shmem.c +++ b/src/backend/port/win32_shmem.c @@ -390,6 +390,9 @@ retry: /* Register on-exit routine to delete the new segment */ on_shmem_exit(pgwin32_SharedMemoryDelete, PointerGetDatum(hmap2)); + if (!(flProtect & SEC_LARGE_PAGES) && huge_pages == HUGE_PAGES_TRY) + ereport(LOG, (errmsg("Anonymous shared memory was allocated without huge pages."))); + *shim = hdr; return hdr; }