Lines Matching refs:cost
716 static u64 cost_to_abs_cost(u64 cost, u32 hw_inuse) in cost_to_abs_cost() argument
718 return DIV64_U64_ROUND_UP(cost * hw_inuse, WEIGHT_ONE); in cost_to_abs_cost()
722 u64 abs_cost, u64 cost) in iocg_commit_bio() argument
726 bio->bi_iocost_cost = cost; in iocg_commit_bio()
727 atomic64_add(cost, &iocg->vtime); in iocg_commit_bio()
1389 u64 cost = abs_cost_to_cost(wait->abs_cost, ctx->hw_inuse); in iocg_wake_fn() local
1391 ctx->vbudget -= cost; in iocg_wake_fn()
1396 iocg_commit_bio(ctx->iocg, wait->bio, wait->abs_cost, cost); in iocg_wake_fn()
2419 u64 cost, new_inuse; in adjust_inuse_and_calc_cost() local
2423 cost = abs_cost_to_cost(abs_cost, hwi); in adjust_inuse_and_calc_cost()
2424 margin = now->vnow - vtime - cost; in adjust_inuse_and_calc_cost()
2428 return cost; in adjust_inuse_and_calc_cost()
2436 return cost; in adjust_inuse_and_calc_cost()
2443 return cost; in adjust_inuse_and_calc_cost()
2459 cost = abs_cost_to_cost(abs_cost, hwi); in adjust_inuse_and_calc_cost()
2460 } while (time_after64(vtime + cost, now->vnow) && in adjust_inuse_and_calc_cost()
2468 return cost; in adjust_inuse_and_calc_cost()
2478 u64 cost = 0; in calc_vtime_cost_builtin() local
2502 cost += coef_randio; in calc_vtime_cost_builtin()
2504 cost += coef_seqio; in calc_vtime_cost_builtin()
2507 cost += pages * coef_page; in calc_vtime_cost_builtin()
2509 *costp = cost; in calc_vtime_cost_builtin()
2514 u64 cost; in calc_vtime_cost() local
2516 calc_vtime_cost_builtin(bio, iocg, is_merge, &cost); in calc_vtime_cost()
2517 return cost; in calc_vtime_cost()
2539 u64 cost; in calc_size_vtime_cost() local
2541 calc_size_vtime_cost_builtin(rq, ioc, &cost); in calc_size_vtime_cost()
2542 return cost; in calc_size_vtime_cost()
2552 u64 abs_cost, cost, vtime; in ioc_rqos_throttle() local
2570 cost = adjust_inuse_and_calc_cost(iocg, vtime, abs_cost, &now); in ioc_rqos_throttle()
2578 time_before_eq64(vtime + cost, now.vnow)) { in ioc_rqos_throttle()
2579 iocg_commit_bio(iocg, bio, abs_cost, cost); in ioc_rqos_throttle()
2604 iocg_commit_bio(iocg, bio, abs_cost, cost); in ioc_rqos_throttle()
2687 u64 vtime, abs_cost, cost; in ioc_rqos_merge() local
2701 cost = adjust_inuse_and_calc_cost(iocg, vtime, abs_cost, &now); in ioc_rqos_merge()
2713 time_before_eq64(atomic64_read(&iocg->vtime) + cost, now.vnow)) { in ioc_rqos_merge()
2714 iocg_commit_bio(iocg, bio, abs_cost, cost); in ioc_rqos_merge()
2732 iocg_commit_bio(iocg, bio, abs_cost, cost); in ioc_rqos_merge()