• Tejun Heo's avatar
    iocost: over-budget forced IOs should schedule async delay · d7bd15a1
    Tejun Heo authored
    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: default avatarTejun Heo <tj@kernel.org>
    Fixes: 7caa4715 ("blkcg: implement blk-iocost")
    Cc: stable@vger.kernel.org
    Reported-by: default avatarJosef Bacik <josef@toxicpanda.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    d7bd15a1
blk-iocost.c 67.1 KB