Hello,
> @@ -2225,6 +2207,25 @@ static void ioc_timer_fn(struct timer_list *timer)
> time_before64(vtime, now.vnow - ioc->margins.low))) {
> u32 hwa, old_hwi, hwm, new_hwi;
>
> + if (vdone != vtime) {
> + u64 inflight_us = DIV64_U64_ROUND_UP(
> + cost_to_abs_cost(vtime - vdone,
> hw_inuse),
> + ioc->vtime_base_rate);
> +
> + usage_us = max(usage_us, inflight_us);
> + }
> +
> + /* convert to hweight based usage ratio */
> + if (time_after64(iocg->activated_at, ioc->period_at))
> + usage_dur = max_t(u64, now.now -
> iocg->activated_at, 1);
> + else
> + usage_dur = max_t(u64, now.now -
> ioc->period_at, 1);
> +
> + usage = clamp_t(u32,
> + DIV64_U64_ROUND_UP(usage_us * WEIGHT_ONE,
> + usage_dur),
> + 1, WEIGHT_ONE);
Can you please move the variable declarations inside the block together with
the code?
Thanks.
--
tejun