{"thread":{"id":"45","subject":"would madvise be a win or a lose on memory pressure?","startedAt":"2005-04-16T05:05:59Z","lastAt":"2005-04-16T05:05:59Z","messageCount":1,"participants":["Mike Taht"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"285","messageId":"42609D37.3030809@timesys.com","threadId":"45","inReplyTo":null,"subject":"would madvise be a win or a lose on memory pressure?","fromName":"Mike Taht","fromEmail":"mike.taht@timesys.com","sentAt":"2005-04-16T05:05:59Z","receivedAt":"2005-04-16T05:05:59Z","isPatch":false,"sender":{"key":"mike.taht@timesys.com","avatar":null},"body":"Doesn't seem to make sense to use MADV_RANDOM on the cache file, but \nmaybe MADV_SEQUENTIAL on the rest...\n\n--- /home/m/src/git-pasky-0.4/update-cache.c    2005-04-15 \n12:24:26.000000000 -0700\n+++ update-cache.c      2005-04-15 21:53:34.000000000 -0700\n@@ -30,7 +30,7 @@\n         close(fd);\n         if (!out || (int)(long)in == -1)\n                 return -1;\n-\n+       madvise(in,size,MADV_SEQUENTIAL);\n         memset(&stream, 0, sizeof(stream));\n         deflateInit(&stream, Z_BEST_COMPRESSION);\n\n--- /home/m/src/git-pasky-0.4/read-cache.c      2005-04-15 \n12:24:26.000000000 -0700\n+++ read-cache.c        2005-04-15 22:01:12.000000000 -0700\n@@ -143,6 +143,7 @@\n         close(fd);\n         if (-1 == (int)(long)map)\n                 return NULL;\n+       madvise(map,st.st_size,MADV_SEQUENTIAL);\n         *size = st.st_size;\n         return map;\n  }\n@@ -254,6 +255,7 @@\n         close(fd);\n         if (map == MAP_FAILED)\n                 return -1;\n+       madvise(map,size,MADV_SEQUENTIAL);\n         cmp = memcmp(buf, map, size);\n         munmap(map, size);\n         if (cmp)\n\n\n-- \n\nMike Taht\n"}]}