threads / discuss / 45

would madvise be a win or a lose on memory pressure?

Subject: would madvise be a win or a lose on memory pressure?

## tl;dr

One message between Apr 16, 2005 and Apr 16, 2005.

replies: 0people: 1as markdown or json

Mike Taht· Apr 16, 2005, 05:05 UTC · lore

Doesn't seem to make sense to use MADV_RANDOM on the cache file, but maybe MADV_SEQUENTIAL on the rest...

--- /home/m/src/git-pasky-0.4/update-cache.c 2005-04-15 12:24:26.000000000 -0700 +++ update-cache.c 2005-04-15 21:53:34.000000000 -0700

@@ -30,7 +30,7 @@
         close(fd);
         if (!out || (int)(long)in == -1)
                 return -1;
-
+       madvise(in,size,MADV_SEQUENTIAL);
         memset(&stream, 0, sizeof(stream));
         deflateInit(&stream, Z_BEST_COMPRESSION);

--- /home/m/src/git-pasky-0.4/read-cache.c      2005-04-15 
12:24:26.000000000 -0700
+++ read-cache.c        2005-04-15 22:01:12.000000000 -0700
@@ -143,6 +143,7 @@
         close(fd);
         if (-1 == (int)(long)map)
                 return NULL;
+       madvise(map,st.st_size,MADV_SEQUENTIAL);
         *size = st.st_size;
         return map;
  }
@@ -254,6 +255,7 @@
         close(fd);
         if (map == MAP_FAILED)
                 return -1;
+       madvise(map,size,MADV_SEQUENTIAL);
         cmp = memcmp(buf, map, size);
         munmap(map, size);
         if (cmp)
-- 
Mike Taht

← back to recent threads