]> git.baikalelectronics.ru Git - kernel.git/commit
blk-iocost: implement vtime loss compensation
authorTejun Heo <tj@kernel.org>
Tue, 1 Sep 2020 18:52:54 +0000 (14:52 -0400)
committerJens Axboe <axboe@kernel.dk>
Wed, 2 Sep 2020 01:38:33 +0000 (19:38 -0600)
commita1b1c64dd1bbedcd40d59c4366f25da856246594
tree3364d49b6020adc8330667e27e8a8684e33630a6
parentba898ebe828a2fdf08a9100c028267c0828d3ffd
blk-iocost: implement vtime loss compensation

When an iocg accumulates too much vtime or gets deactivated, we throw away
some vtime, which lowers the overall device utilization. As the exact amount
which is being thrown away is known, we can compensate by accelerating the
vrate accordingly so that the extra vtime generated in the current period
matches what got lost.

This significantly improves work conservation when involving high weight
cgroups with intermittent and bursty IO patterns.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-iocost.c