#include <fcntl.h>
int posix_fadvice (int fd, off_t offset, off_t len, int advice);
대부분 madvise()의 flag과 비슷하나 몇가지가 살짝 다른데,
- POSIX_FADV_NORMAL
- POSIX_FADV_RANDOM
- POSIX_FADV_SEQUENTIAL : from low to high address
- POSIX_FADV_WILLNEED
- POSIX_FADV_NOREUSE : 한번만 쓰인다는 얘긴데, 지금은 WILLNEED와 동일하게 동작한다.
- POSIX_FADV_DONTNEED
이 함수는 커널 2.6이후에 도입되었고 사실 리눅스에서는 그전에 readahead()로 같은 기능을 제공하고 있었다(이 함수는 POSIX_FADV_WILLNEED와 같은 기능을 한다).
#include <fcntl.h>
size_t readahead(int fd, off64_t offset, ssize_t count);
stream video 같은 경우에는 한번 display한 데이터는 캐시가 안되도 되기 때문에 POSIX_FADV_DONTNEED를 주면 좋다.
No comments:
Post a Comment