int madvise ( void *addr, size_t length, int advice);
MADV_NORMAL - default treatment
MADV_RANDOM - accessed in random order (read ahead less useful)
MADV_SEQUENTIAL - accessed in sequential order (read ahead more useful, good victim after access)
MADV_WILLNEED - access in near future likely (read ahead useful now)
MADV_DONTNEED - access in near future unlikely (good victim now)
MADV_HUGEPAGE - merge pages into huge page where possible
MADV_MERGEABLE - merge pages with identical content