Re: [PATCH] speed up SATA

From: Timothy Miller
Date: Tue Mar 30 2004 - 10:39:23 EST




Jens Axboe wrote:



Here's a quickly done patch that attempts to adjust the value based on a
previous range of completed requests. It changes ->max_sectors to be a
hardware limit, adding ->optimal_sectors to be our max issued io target.
It is split on READ and WRITE. The target is to keep request execution
time under BLK_IORATE_TARGET, which is 50ms in this patch. read-ahead
max window is kept within a single request in size.

[snip]

Awesome patch!

One question I have is about how you are determining optimal request size. You are basing this on the _maximum_ performance of the device, but there could be huge differences between min and max performance. Would it be better to compute optimal based on worst-case performance? Or averaged over time?

Idealy, we'd have a running average where one hit of worst-case will have an impact, but if that happens only once, it'll drop out of the average, and best-case events will be considered but tempered as well.

If we're going for real-time, then we want to avoid any latency over 50ms. In that case, we'd want to go based on worst-case, although it would still be good to let, say, an occasional hardware glitch which had slow response to not have permanent impact.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/