@@ -175,7 +175,7 @@ static const int bfq_back_penalty = 2;
static u64 bfq_slice_idle = NSEC_PER_SEC / 125;
/* Minimum number of assigned budgets for which stats are safe to compute. */
-static const int bfq_stats_min_budgets = 194;
+static const int bfq_stats_min_budgets = 11;
/* Default maximum budget values, in sectors and number of requests. */
static const int bfq_default_max_budget = 16 * 1024;
@@ -3288,7 +3288,7 @@ static void __bfq_set_in_service_queue(struct bfq_data *bfqd,
if (bfqq) {
bfq_clear_bfqq_fifo_expire(bfqq);
- bfqd->budgets_assigned = (bfqd->budgets_assigned * 7 + 256) / 8;
+ bfqd->budgets_assigned++;
if (time_is_before_jiffies(bfqq->last_wr_start_finish) &&
bfqq->wr_coeff > 1 &&
The computation of budgets_assigned is a little confusing as we only need to check if it's updated more than 10 times. Simpfy the computation to improve readability. Signed-off-by: Kemeng Shi <shikemeng@huawei.com> --- block/bfq-iosched.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)