[PATCHSET for-5.10/block] iocost: improve debt forgiveness logic

Tejun Heo
2020-09-18T00:45:02Z

Hello,

Debt reduction logic was recently added by dda1315f1853 ("blk-iocost: halve
debts if device stays idle"). While it was effective at avoiding
pathological cases where some iocgs were kept delayed while the device was
most idle, it wasn't very effective at addressing more complex conditions
and could leave low priority cgroups unnecessarily harshly throttled under
moderate load.

This patchset improves the debt forgiveness logic so that it's more
effective at reducing such unnecessary throttling. This patchset contains
the following five patches:

0001-iocost-factor-out-ioc_forgive_debts.patch
0002-iocost-replace-nr_shortages-cond-in-ioc_forgive_debt.patch
0003-iocost-recalculate-delay-after-debt-reduction.patch
0004-iocost-reimplement-debt-forgiveness-using-average-us.patch
0005-iocost-add-iocg_forgive_debt-tracepoint.patch

and is also available in the following git tree:

git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git iocost-debt-forgiveness

diffstat follows. Thanks.

block/blk-iocost.c | 141 +++++++++++++++++++++++++++++-------------
include/trace/events/iocost.h | 41 ++++++++++++
2 files changed, 141 insertions(+), 41 deletions(-)

--
tejun