]> git.baikalelectronics.ru Git - kernel.git/commit
iocost: over-budget forced IOs should schedule async delay
authorTejun Heo <tj@kernel.org>
Mon, 16 Dec 2019 21:34:00 +0000 (13:34 -0800)
committerJens Axboe <axboe@kernel.dk>
Mon, 16 Dec 2019 23:10:17 +0000 (16:10 -0700)
commit1bbfb698f297e9ba308c477e4eaef19e8a87fefe
tree10d4bf5247272ce5e00a258a6b6e8b8fe87e36c1
parent49f14cb652bde9498d86482f292a67a1c84b2624
iocost: over-budget forced IOs should schedule async delay

When over-budget IOs are force-issued through root cgroup,
iocg_kick_delay() adjusts the async delay accordingly but doesn't
actually schedule async throttle for the issuing task.  This bug is
pretty well masked because sooner or later the offending threads are
gonna get directly throttled on regular IOs or have async delay
scheduled by mem_cgroup_throttle_swaprate().

However, it can affect control quality on filesystem metadata heavy
operations.  Let's fix it by invoking blkcg_schedule_throttle() when
iocg_kick_delay() says async delay is needed.

Signed-off-by: Tejun Heo <tj@kernel.org>
Fixes: fe734d3093a8 ("blkcg: implement blk-iocost")
Cc: stable@vger.kernel.org
Reported-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-iocost.c