aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime/mem_linux.c
diff options
context:
space:
mode:
authorDmitriy Vyukov <dvyukov@google.com>2014-03-13 19:04:00 +0400
committerDmitriy Vyukov <dvyukov@google.com>2014-03-13 19:04:00 +0400
commitc115cda22c82e219654056f6864e9819b922febc (patch)
treee00f006154582f4a5e3981b9e8379370d755ec01 /src/pkg/runtime/mem_linux.c
parentcdc93d24165af721030f05c9aa6c79605011ec1b (diff)
downloadgo-c115cda22c82e219654056f6864e9819b922febc.tar.xz
runtime: improve efence
Mark free memory blocks as unused. On amd64 it allows the process to eat all 128 GB of heap without killing the machine. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/74070043
Diffstat (limited to 'src/pkg/runtime/mem_linux.c')
-rw-r--r--src/pkg/runtime/mem_linux.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/pkg/runtime/mem_linux.c b/src/pkg/runtime/mem_linux.c
index bab05011ff..2ead204101 100644
--- a/src/pkg/runtime/mem_linux.c
+++ b/src/pkg/runtime/mem_linux.c
@@ -95,7 +95,7 @@ runtime·SysFree(void *v, uintptr n, uint64 *stat)
void
runtime·SysFault(void *v, uintptr n)
{
- runtime·mmap(v, n, PROT_NONE, 0, -1, 0);
+ runtime·mmap(v, n, PROT_NONE, MAP_ANON|MAP_PRIVATE|MAP_FIXED, -1, 0);
}
void*