The VX_SEQ
advisory is a per-file advisory that indicates that the file is being accessed sequentially. A process setting this advisory on a file through its file descriptor will impact the access pattern of other processes currently accessing the same file. When a file with VX_SEQ
advisory is being read, the maximum read-ahead is performed. When a file with VX_SEQ
advisory is written, sequential write access is assumed and the modified pages with write operations are not immediately flushed. Instead, modified pages remain in the system page cache and those pages are flushed at some distance point behind the current write point (flush behind).
The VX_RANDOM
advisory is a per-file advisory that indicates that the file is being accessed randomly. A process setting this advisory on a file through its file descriptor will impact the access pattern of other processes currently accessing the same file. This advisory disables read-ahead with read operations on the file, and disables flush-behind on the file, as described above. The result of disabling flush behind is that the modified pages in the system page cache from the recent write operations are not flushed to the disk until the system pager is scheduled and run to flush dirty pages. The rate at which the system pager is scheduled is based on availability of free memory and contention.
Note
The VX_SEQ
and VX_RANDOM
are mutually exclusive advisories.