about summary refs log tree commit diff homepage
path: root/server.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2017-08-01 00:02:31 -0400
committerJune McEnroe <june@causal.agency>2017-08-01 00:09:44 -0400
commit3c2d8233b880cb22e2330a877f7d9ee1a9a8a5fa (patch)
tree5acc18b38440e4a6b567b02ef353a9d61fb96e73 /server.c
parentFix removing clients from clientCast (diff)
downloadtorus-3c2d8233b880cb22e2330a877f7d9ee1a9a8a5fa.tar.gz
torus-3c2d8233b880cb22e2330a877f7d9ee1a9a8a5fa.zip
Madvise RANDOM and NOSYNC
Diffstat (limited to '')
-rwxr-xr-xserver.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/server.c b/server.c
index 5aaf855..97d4230 100755
--- a/server.c
+++ b/server.c
@@ -35,6 +35,14 @@ static void tilesMap(void) {
     tiles = mmap(NULL, TILES_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
     if (tiles == MAP_FAILED) err(EX_OSERR, "mmap");
 
+    error = madvise(tiles, TILES_SIZE, MADV_RANDOM);
+    if (error) err(EX_OSERR, "madvise");
+
+#ifdef MADV_NOSYNC
+    error = madvise(tiles, TILES_SIZE, MADV_NOSYNC);
+    if (error) err(EX_OSERR, "madvise");
+#endif
+
 #ifdef MADV_NOCORE
     error = madvise(tiles, TILES_SIZE, MADV_NOCORE);
     if (error) err(EX_OSERR, "madvise");