On Tue, Sep 02, 2014 at 04:20:24PM +0200, Jan Kara wrote: > On Tue 02-09-14 07:31:04, Ted Tso wrote: > > > - the very small max readahead size > > > > For things like the readahead size, that's probably something that we > > should autotune, based the time it takes to read N sectors. i.e., > > start N relatively small, such as 128k, and then bump it up based on > > how long it takes to do a sequential read of N sectors until it hits a > > given tunable, which is specified in milliseconds instead of kilobytes. > Actually the amount of readahead we do is autotuned (based on hit rate). > So I would keep the setting in sysfs as the maximum size adaptive readahead > can ever read and we can bump it up. We can possibly add another feedback > into the readahead code to tune actualy readahead size depending on device > speed but we'd have to research exactly what algorithm would work best. I do think we will need to add a time based cap when bump up the max adaptive readahead; otherwise what could happen is that if we are streaming off of a slow block device, the readhaead could easily grow to the point where it starts affecting the latency of competing read requests to the slow block device. I suppose we could make the argument that it's not needed, because most of situations where we might be using slow block devices, the streaming reader will likely have exclusive use of the device, since no one would be crazy enough to say, try to run a live CD-ROM image when USB sticks are so cheap. :-) So maybe in practice it won't matter, but I think some kind of time based cap would probably be a good idea. - Ted -- 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