在页面上发出异步I / O.

时间:2011-07-17 15:17:18

标签: memory memory-management linux-kernel kernel

我想知道在已被换出的页面上发出异步读取操作的正确方法是什么。一旦完成,有没有办法执行回调,以便我可以用该页面执行某些逻辑?

1 个答案:

答案 0 :(得分:3)

madvise(start_address, length, MADV_WILLNEED)会这样做。

回调实际上并不存在,但如果您愿意,可以使用mincore系统调用来轮询状态快照。

请注意,相反的提示MADV_DONTNEED 执行您的想法,msync也不行。文件说谎。
在Linux下启动异步 writeback 没有非破坏性的方法(尽管文档中这样说)。您可以选择无操作,抛出页面,同步写回或异步写回来清除缓存。