Messages in this thread | | | Date | Thu, 28 Sep 2023 23:05:04 +0100 | From | Qais Yousef <> | Subject | Re: [PATCH 2/4] sched: cpufreq: Fix apply_dvfs_headroom() escaping uclamp constraints |
| |
On 09/28/23 19:50, Vincent Guittot wrote:
> > > > Yep, absolutely. It seems we agree that CFS shouldn't go above 800 if it is > > capped even if there's headroom, but the question you have on the way it is > > At least I want to ensure that cpufreq has the right information to make a > smart decision. In the example above, it's not needed to go above 800 for > neither cfs nor irq.
Okay you want to do even bigger rework :-) I thought I might have pushed some boundary with the rework I had in mind hehe.
> I'm not in favor of showing all details to cpufreq because it will have to > follow the internal changes. In instead, I was thinking of something like: > > /* Function name to be changed */ > unsigned_long effective_cpu_util(int cpu, unsigned int *min, unsigned int *max) > > The function returns the actual utilization of the CPU and some minimum and > maximum limits with the possibility to have the min and/or Actual values > Max > because the min would be a hard minimum value whereas max only a soft maximum > value. > > Min would be the minimum perf to provide to the cpu : typically DL_bw + irq > Actual would be the actual utilization of the cpu: cfs+rt+dl+irq (after scaling > everything in the normal range) > Max would be the maximum needed performance for normal work: typically the > minimum between uclamp and capacity > > Then cpufreq can use these 3 values to compute a performance level and it > will know up to which perf level it should go and if it is worth it. > Something likr:
Okay thanks! I think I have better clarity now. Let me try to rework the patches.
Cheers
-- Qais Yousef
| |