Lines Matching defs:abs_cost
572 u64 abs_cost;
709 * Scale @abs_cost to the inverse of @hw_inuse. The lower the hierarchical
712 static u64 abs_cost_to_cost(u64 abs_cost, u32 hw_inuse)
714 return DIV64_U64_ROUND_UP(abs_cost * WEIGHT_ONE, hw_inuse);
726 u64 abs_cost, u64 cost)
734 local64_add(abs_cost, &gcs->abs_vusage);
1353 static void iocg_incur_debt(struct ioc_gq *iocg, u64 abs_cost,
1366 if (!iocg->abs_vdebt && abs_cost) {
1371 iocg->abs_vdebt += abs_cost;
1374 local64_add(abs_cost, &gcs->abs_vusage);
1405 u64 cost = abs_cost_to_cost(wait->abs_cost, ctx->hw_inuse);
1412 iocg_commit_bio(ctx->iocg, wait->bio, wait->abs_cost, cost);
2428 u64 abs_cost, struct ioc_now *now)
2440 cost = abs_cost_to_cost(abs_cost, hwi);
2464 * Bump up inuse till @abs_cost fits in the existing budget.
2476 cost = abs_cost_to_cost(abs_cost, hwi);
2569 u64 abs_cost, cost, vtime;
2578 abs_cost = calc_vtime_cost(bio, iocg, false);
2579 if (!abs_cost)
2587 cost = adjust_inuse_and_calc_cost(iocg, vtime, abs_cost, &now);
2596 iocg_commit_bio(iocg, bio, abs_cost, cost);
2621 iocg_commit_bio(iocg, bio, abs_cost, cost);
2627 * the abs_cost instead of advancing vtime. iocg_kick_waitq() will pay
2643 iocg_incur_debt(iocg, abs_cost, &now);
2678 wait.abs_cost = abs_cost;
2704 u64 vtime, abs_cost, cost;
2711 abs_cost = calc_vtime_cost(bio, iocg, true);
2712 if (!abs_cost)
2718 cost = adjust_inuse_and_calc_cost(iocg, vtime, abs_cost, &now);
2731 iocg_commit_bio(iocg, bio, abs_cost, cost);
2744 iocg_incur_debt(iocg, abs_cost, &now);
2749 iocg_commit_bio(iocg, bio, abs_cost, cost);