iocost: Fix check condition of iocg abs_vdebt
authorChengming Zhou <zhouchengming@bytedance.com>
Thu, 30 Jul 2020 09:03:21 +0000 (17:03 +0800)
committerJens Axboe <axboe@kernel.dk>
Thu, 30 Jul 2020 17:45:12 +0000 (11:45 -0600)
We shouldn't skip iocg when its abs_vdebt is not zero.

Fixes: 0b80f9866e6b ("iocost: protect iocg->abs_vdebt with iocg->waitq.lock")
Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-iocost.c

index cea5ee9..521c29b 100644 (file)
@@ -1370,7 +1370,7 @@ static void ioc_timer_fn(struct timer_list *timer)
         * should have woken up in the last period and expire idle iocgs.
         */
        list_for_each_entry_safe(iocg, tiocg, &ioc->active_iocgs, active_list) {
-               if (!waitqueue_active(&iocg->waitq) && iocg->abs_vdebt &&
+               if (!waitqueue_active(&iocg->waitq) && !iocg->abs_vdebt &&
                    !iocg_is_idle(iocg))
                        continue;