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