On Wed, 21 Sep 2005, Behdad Esfahbod wrote: > First is that why (according to my experiements) the readahead > syscall is not async? If I want to readahead 200 files, I > believe somehow queueing them all should give a better > performance than calling readahead on one, waiting for it to be > read, calling on the next. Isn't that true? sys_readahead is meant to be relatively simple Also, since the bulk of the time spent will be spent on IO, and the disk can only do one IO at a time anyway, I don't know if queueing them all will really help much... > The other question is whether madvise is synchronous or async? > If it's async, can it be used instead of readahead? What's the > algorithm implemented? I suspect that madvise is synchronous. > And one last one, how do mmap, madvise, and mincore syscalls > affect the LRU order? Do they freshen the pages in cache? madvise can affect the order, but you probably won't need to do any of that. -- "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/