Lines Matching refs:cost
714 static u64 cost_to_abs_cost(u64 cost, u32 hw_inuse) in cost_to_abs_cost() argument
716 return DIV64_U64_ROUND_UP(cost * hw_inuse, WEIGHT_ONE); in cost_to_abs_cost()
720 u64 abs_cost, u64 cost) in iocg_commit_bio() argument
724 bio->bi_iocost_cost = cost; in iocg_commit_bio()
725 atomic64_add(cost, &iocg->vtime); in iocg_commit_bio()
1435 u64 cost = abs_cost_to_cost(wait->abs_cost, ctx->hw_inuse); in iocg_wake_fn() local
1437 ctx->vbudget -= cost; in iocg_wake_fn()
1442 iocg_commit_bio(ctx->iocg, wait->bio, wait->abs_cost, cost); in iocg_wake_fn()
2424 u64 cost, new_inuse; in adjust_inuse_and_calc_cost() local
2428 cost = abs_cost_to_cost(abs_cost, hwi); in adjust_inuse_and_calc_cost()
2429 margin = now->vnow - vtime - cost; in adjust_inuse_and_calc_cost()
2433 return cost; in adjust_inuse_and_calc_cost()
2441 return cost; in adjust_inuse_and_calc_cost()
2448 return cost; in adjust_inuse_and_calc_cost()
2464 cost = abs_cost_to_cost(abs_cost, hwi); in adjust_inuse_and_calc_cost()
2465 } while (time_after64(vtime + cost, now->vnow) && in adjust_inuse_and_calc_cost()
2473 return cost; in adjust_inuse_and_calc_cost()
2483 u64 cost = 0; in calc_vtime_cost_builtin() local
2507 cost += coef_randio; in calc_vtime_cost_builtin()
2509 cost += coef_seqio; in calc_vtime_cost_builtin()
2512 cost += pages * coef_page; in calc_vtime_cost_builtin()
2514 *costp = cost; in calc_vtime_cost_builtin()
2519 u64 cost; in calc_vtime_cost() local
2521 calc_vtime_cost_builtin(bio, iocg, is_merge, &cost); in calc_vtime_cost()
2522 return cost; in calc_vtime_cost()
2544 u64 cost; in calc_size_vtime_cost() local
2546 calc_size_vtime_cost_builtin(rq, ioc, &cost); in calc_size_vtime_cost()
2547 return cost; in calc_size_vtime_cost()
2557 u64 abs_cost, cost, vtime; in ioc_rqos_throttle() local
2575 cost = adjust_inuse_and_calc_cost(iocg, vtime, abs_cost, &now); in ioc_rqos_throttle()
2583 time_before_eq64(vtime + cost, now.vnow)) { in ioc_rqos_throttle()
2584 iocg_commit_bio(iocg, bio, abs_cost, cost); in ioc_rqos_throttle()
2609 iocg_commit_bio(iocg, bio, abs_cost, cost); in ioc_rqos_throttle()
2692 u64 vtime, abs_cost, cost; in ioc_rqos_merge() local
2706 cost = adjust_inuse_and_calc_cost(iocg, vtime, abs_cost, &now); in ioc_rqos_merge()
2718 time_before_eq64(atomic64_read(&iocg->vtime) + cost, now.vnow)) { in ioc_rqos_merge()
2719 iocg_commit_bio(iocg, bio, abs_cost, cost); in ioc_rqos_merge()
2737 iocg_commit_bio(iocg, bio, abs_cost, cost); in ioc_rqos_merge()