我对通过带有POSIX_FADV_SEQUENTIAL选项的posix_fadvise优化磁盘读取很感兴趣。函数调用是否是异步的,预取缓冲区是在后台完成的,还是必须在返回前等待预取?
发布于 2019-12-30 03:30:07
posix_fadvise不会预取任何数据。它只是告诉内核您想要使用某种访问模式。
使用POSIX_FADV_SEQUENTIAL,内核将使预读大小加倍,如手册页中所述。这是posix_fadvise同步执行的唯一操作;任何readahead都将作为另一个操作的一部分发生,而不是此调用的一部分。
https://stackoverflow.com/questions/59522584
复制相似问题