Message ID | 20221226085859.2701195-6-yukuai1@huaweicloud.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | blk-iocost: random bugfix | expand |
On Mon, Dec 26, 2022 at 04:58:59PM +0800, Yu Kuai wrote: > From: Li Nan <linan122@huawei.com> > > vrate_min is calculated by DIV64_U64_ROUND_UP, but vrate_max is calculated > by div64_u64. Vrate_min may be 1 greater than vrate_max if the input > values min and max of cost.qos are equal. > > Signed-off-by: Li Nan <linan122@huawei.com> > Signed-off-by: Yu Kuai <yukuai3@huawei.com> Acked-by: Tejun Heo <tj@kernel.org> Thanks.
diff --git a/block/blk-iocost.c b/block/blk-iocost.c index c6b39024117b..7a0d754b9eb2 100644 --- a/block/blk-iocost.c +++ b/block/blk-iocost.c @@ -930,8 +930,8 @@ static bool ioc_refresh_params(struct ioc *ioc, bool force) ioc->vrate_min = DIV64_U64_ROUND_UP((u64)ioc->params.qos[QOS_MIN] * VTIME_PER_USEC, MILLION); - ioc->vrate_max = div64_u64((u64)ioc->params.qos[QOS_MAX] * - VTIME_PER_USEC, MILLION); + ioc->vrate_max = DIV64_U64_ROUND_UP((u64)ioc->params.qos[QOS_MAX] * + VTIME_PER_USEC, MILLION); return true; }