On Tue, 2 Feb 2010, Linus Torvalds wrote:
Rememebr: read-ahead is about filling the empty IO spaces _between_ reads, and turning many smaller reads into one bigger one. If you only have a single big read, read-ahead cannot help. Also, keep in mind that read-ahead is not always a win. It can be a huge loss too. Which is why we have _heuristics_. They fundamentally cannot catch every case, but what they aim for is to do a good job on average.
as a note from the field, I just had an application that needed to be changed because it did excessive read-ahead. it turned a 2 min reporting run into a 20 min reporting run because for this report the access was really random and the app forced large read-ahead.
David Lang -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html