Re: [PATCH V4 13/15] blk-throttle: add a mechanism to estimate IO latency
From: Tejun Heo
Date: Tue Nov 29 2016 - 12:24:59 EST
Hello, Shaohua.
On Mon, Nov 14, 2016 at 02:22:20PM -0800, Shaohua Li wrote:
> To do this, we sample some data, eg, average latency for request size
> 4k, 8k, 16k, 32k, 64k. We then use an equation f(x) = a * x + b to fit
> the data (x is request size in KB, f(x) is the latency). Then we can use
> the equation to estimate IO target latency for any request.
As discussed separately, it might make more sense to just use the avg
of the closest bucket instead of trying to line-fit the buckets, but
it's an implementation detail and whatever which works is fine.
> Hard disk is completely different. Latency depends on spindle seek
> instead of request size. So this latency target feature is for SSD only.
I'm not sure about this. While a disk's latency profile is way higher
and more erratic than SSDs, that doesn't make latency target useless.
Sure, it'll be more crude but there's a significant difference between
a cgroup having <= 20ms overall latency and experiencing multi-sec
latency.
Thanks.
--
tejun