On Tue, Jun 23, 2009 at 7:54 PM, Kok, Auke<[email protected]> wrote:
>> * use posix_fadvise(fd,off,len,POSIX_FADV_WILLNEED) instead of >> readahead(fs,off,len): posix_fadvise is non-blocking until there is >> room in the queue, so you can get rid of multithreading, and it will >> better interact with the block layer, allowing it to reorder more >> requests according to disk placement. > > I'm currently contemplating removing all the threading support, because I'm > not > seeing an improvement - even on SSD's. We have some experience with this with Postgres. It uses posix_fadvise() to prefetch buffers and it works quite well. The effects from re-ordering and parallelism are both very visible on tests on raid arrays. On Linux at least it's entirely non-blocking. If you prefetch too much the OS will just discard the requests. -- greg http://mit.edu/~gsstark/resume.pdf _______________________________________________ Power mailing list [email protected] http://www.bughost.org/mailman/listinfo/power
