--- src/backend/port/sysv_shmem.c.orig 2014-07-01 21:22:16.196805686 +0300 +++ src/backend/port/sysv_shmem.c 2014-07-01 21:22:49.171498000 +0300 @@ -54,7 +54,15 @@ #define MAP_HASSEMAPHORE 0 #endif -#define PG_MMAP_FLAGS (MAP_SHARED|MAP_ANONYMOUS|MAP_HASSEMAPHORE) +#if defined(MAP_SHARED_PHYS) && defined(MAP_PREFAULT_READ) +#define PG_MAP_EXTRA MAP_SHARED_PHYS|MAP_PREFAULT_READ +#elif defined(MAP_SHARED_PHYS) +#define PG_MAP_EXTRA MAP_SHARED_PHYS +#else +#define PG_MAP_EXTRA 0 +#endif + +#define PG_MMAP_FLAGS (MAP_SHARED|MAP_ANONYMOUS|MAP_HASSEMAPHORE|PG_MAP_EXTRA) /* Some really old systems don't define MAP_FAILED. */ #ifndef MAP_FAILED