[PATCH] iocost: Only inc nr_shortages when have io waited

From: Chengming Zhou
Date: Sat Aug 01 2020 - 13:00:36 EST


The last else branch of current code may have not io waited in iocg,
in which case we should not inc nr_shortages, or the device vrate
will speed up even this iocg is not shortage of vtime.

Signed-off-by: Chengming Zhou <zhouchengming@xxxxxxxxxxxxx>
---
block/blk-iocost.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/blk-iocost.c b/block/blk-iocost.c
index 86ba6fd254e1..ce68b5749364 100644
--- a/block/blk-iocost.c
+++ b/block/blk-iocost.c
@@ -1485,7 +1485,7 @@ static void ioc_timer_fn(struct timer_list *timer)
__propagate_active_weight(iocg, iocg->weight,
new_inuse);
}
- } else {
+ } else if (waitqueue_active(&iocg->waitq)) {
/* genuninely out of vtime */
nr_shortages++;
}
--
2.20.1