Messages in this thread Patch in this message | | | Date | Thu, 9 Nov 2017 14:19:24 -0800 | From | Tejun Heo <> | Subject | [PATCH 1/2] blk-throtl: make latency= absolute |
| |
Currently, the latency= parameter specifies the extra latency on top of the estimated baseline latency. This doesn't seem ideal for the following two reasons.
1. Sometimes we want to use absolute target latencies, especially as the baseline latency estimation isn't always reliable.
2. If we want to set a latency target relative to the estimated baseline latency, it makes a lot more sense to express the target as a percentage of the baseline (say, 120% of the expected latency) rather than the baseline latency + an absolute offset.
This patch makes the existing latency= parameter to be interpreted as an absolute latency target instead of an offset to the baseline. The next patch will add support for relative latency target expressed in terms of percentage.
While this is a userland visible change, io.low support is still evoling and highly experimental. This isn't expected to break any actual usages.
Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Shaohua Li <shli@kernel.org> --- block/blk-throttle.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
--- a/block/blk-throttle.c +++ b/block/blk-throttle.c @@ -2299,8 +2299,7 @@ void blk_throtl_bio_endio(struct bio *bi bucket = request_bucket_index( blk_stat_size(&bio->bi_issue_stat)); - threshold = tg->td->avg_buckets[bucket].latency + - tg->latency_target; + threshold = tg->latency_target; if (lat > threshold) tg->bad_bio_cnt++; /*
| |