diff options
author | Bruce Momjian <bruce@momjian.us> | 2015-03-21 22:06:19 -0400 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2015-03-21 22:06:19 -0400 |
commit | 34afbba84e8fd12bbf905d68d1112f51ed584df9 (patch) | |
tree | a4e66fb4b46745b5996190dc467bdb1b36cc3318 /src/backend/storage/ipc/dsm_impl.c | |
parent | 9d61b9953c1489cbb458ca70013cf5fca1bb7710 (diff) | |
download | postgresql-34afbba84e8fd12bbf905d68d1112f51ed584df9.tar.gz postgresql-34afbba84e8fd12bbf905d68d1112f51ed584df9.zip |
Use mmap MAP_NOSYNC option to limit shared memory writes
mmap() is rarely used for shared memory, but when it is, this option is
useful, particularly on the BSDs.
Patch by Sean Chittenden
Diffstat (limited to 'src/backend/storage/ipc/dsm_impl.c')
-rw-r--r-- | src/backend/storage/ipc/dsm_impl.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/storage/ipc/dsm_impl.c b/src/backend/storage/ipc/dsm_impl.c index cf7938cb44d..0859fbfc930 100644 --- a/src/backend/storage/ipc/dsm_impl.c +++ b/src/backend/storage/ipc/dsm_impl.c @@ -368,7 +368,7 @@ dsm_impl_posix(dsm_op op, dsm_handle handle, Size request_size, /* Map it. */ address = mmap(NULL, request_size, PROT_READ | PROT_WRITE, - MAP_SHARED | MAP_HASSEMAPHORE, fd, 0); + MAP_SHARED | MAP_HASSEMAPHORE | MAP_NOSYNC, fd, 0); if (address == MAP_FAILED) { int save_errno; @@ -960,7 +960,7 @@ dsm_impl_mmap(dsm_op op, dsm_handle handle, Size request_size, /* Map it. */ address = mmap(NULL, request_size, PROT_READ | PROT_WRITE, - MAP_SHARED | MAP_HASSEMAPHORE, fd, 0); + MAP_SHARED | MAP_HASSEMAPHORE | MAP_NOSYNC, fd, 0); if (address == MAP_FAILED) { int save_errno; |