Advise the kernel that we will scan DB files sequentially.
[srvx.git] / src / recdb.c
index 67c3e7054b195b1ef98ddb0a1fd5854fcee4bd2a..17dbccc958b9f4c85aba4774e45a84745fd3c387 100644 (file)
@@ -621,6 +621,7 @@ parse_database(const char *filename)
     /* Try mmap */
     if (!mmap_error && (recdb.s = mmap(NULL, recdb.length, PROT_READ|PROT_WRITE, MAP_PRIVATE, fileno(recdb.f), 0)) != MAP_FAILED) {
         recdb.type = RECDB_MMAP;
+        madvise(recdb.s, recdb.length, MADV_SEQUENTIAL);
     } else {
         /* Fall back to stdio */
         if (!mmap_error) {