Messages in this thread | | | Date | Wed, 25 Nov 2020 07:19:43 -0500 | From | Tejun Heo <> | Subject | Re: [PATCH 5/7] blk-iocost: Move the usage ratio calculation to the correct place |
| |
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
| |