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

From: Tejun Heo
Date: Thu Sep 17 2020 - 20:45:02 EST


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