Add strong madvise() hint for cache pruning
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/filesetup.c b/filesetup.c
index d7c83a7..f8f81d2 100644
--- a/filesetup.c
+++ b/filesetup.c
@@ -303,9 +303,12 @@
/*
* FIXME: add blockdev flushing too
*/
- if (f->mmap_ptr)
+ if (f->mmap_ptr) {
ret = madvise(f->mmap_ptr, f->mmap_sz, MADV_DONTNEED);
- else if (f->filetype == FIO_TYPE_FILE) {
+#ifdef FIO_MADV_FREE
+ (void) madvise(f->mmap_ptr, f->mmap_sz, FIO_MADV_FREE);
+#endif
+ } else if (f->filetype == FIO_TYPE_FILE) {
ret = fadvise(f->fd, off, len, POSIX_FADV_DONTNEED);
} else if (f->filetype == FIO_TYPE_BD) {
ret = blockdev_invalidate_cache(f->fd);