From: Tejun Heo <tj@xxxxxxxxxx> commit 5de0073fcd50cc1f150895a7bb04d3cf8067b1d7 upstream. If use_delay was non-zero when the latency target of a cgroup was set to zero, it will stay stuck until io.latency is enabled on the cgroup again. This keeps readahead disabled for the cgroup impacting performance negatively. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Josef Bacik <jbacik@xxxxxx> Fixes: d70675121546 ("block: introduce blk-iolatency io controller") Cc: stable@xxxxxxxxxxxxxxx # v4.19+ Signed-off-by: Jens Axboe <axboe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- block/blk-iolatency.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/block/blk-iolatency.c +++ b/block/blk-iolatency.c @@ -758,8 +758,10 @@ static int iolatency_set_min_lat_nsec(st if (!oldval && val) return 1; - if (oldval && !val) + if (oldval && !val) { + blkcg_clear_delay(blkg); return -1; + } return 0; }