summaryrefslogtreecommitdiff
path: root/block/blk-cgroup.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2020-09-01 21:52:51 +0300
committerJens Axboe <axboe@kernel.dk>2020-09-02 04:38:32 +0300
commitc421a3eb2e27402c14131a14390551ae6cdb15fa (patch)
treec74b6cfe35d605e68085c2b04c72a4e8202c9a29 /block/blk-cgroup.c
parentb0853ab4a238c54b8f97ca7dde1ae156e2bbd5e4 (diff)
downloadlinux-c421a3eb2e27402c14131a14390551ae6cdb15fa.tar.xz
blk-iocost: revamp debt handling
Debt handling had several issues. * How much inuse a debtor carries wasn't clearly defined. inuse would be driven down over time from not issuing IOs but it'd be better to clamp it to minimum immediately once in debt. * How much can be paid off was determined by hweight_inuse. As inuse was driven down, the payment amount would fall together regardless of the debtor's active weight. This means that the debtors were punished harshly. * ioc_rqos_merge() wasn't calling blkcg_schedule_throttle() after iocg_kick_delay(). This patch revamps debt handling so that * Debt handling owns inuse for iocgs in debt and keeps them at zero. * Payment amount is determined by hweight_active. This is more deterministic and safer than hweight_inuse but still far from ideal in that it doesn't factor in possible donations from other iocgs for debt payments. This likely needs further improvements in the future. * iocg_rqos_merge() now calls blkcg_schedule_throttle() as necessary. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Andy Newell <newella@fb.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-cgroup.c')
0 files changed, 0 insertions, 0 deletions