Messages in this thread | | | From | Linus Torvalds <> | Date | Thu, 11 Jan 2024 09:45:15 -0800 | Subject | Re: [GIT PULL] Scheduler changes for v6.8 |
| |
On Thu, 11 Jan 2024 at 00:11, Vincent Guittot <vincent.guittot@linaro.org> wrote: > > Could you confirm that cpufreq governor is schedutil and the driver is > amd-pstate on your system ?
schedutil yes, amd-pstate no. I actually just use acpi_cpufreq
> > Also I'm interested by the output of the amd_pstate to confirm that it uses the > adjust_perf callback > > I suppose that you don't use uclamp feature and amd doesn't use EAS so that let > the change of the min parameter of adjust_perf which was probably always 0 > unless you use deadline scheduler and which now takes into account irq pressure. > > Could you try the patch below which restores the previous min value ? > > --- > kernel/sched/cpufreq_schedutil.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c > index 95c3c097083e..3fe8ac6ce9cc 100644 > --- a/kernel/sched/cpufreq_schedutil.c > +++ b/kernel/sched/cpufreq_schedutil.c > @@ -194,10 +194,11 @@ unsigned long sugov_effective_cpu_perf(int cpu, unsigned long actual, > static void sugov_get_util(struct sugov_cpu *sg_cpu, unsigned long boost) > { > unsigned long min, max, util = cpu_util_cfs_boost(sg_cpu->cpu); > + struct rq *rq = cpu_rq(sg_cpu->cpu); > > util = effective_cpu_util(sg_cpu->cpu, util, &min, &max); > util = max(util, boost); > - sg_cpu->bw_min = min; > + sg_cpu->bw_min = cpu_bw_dl(rq); > sg_cpu->util = sugov_effective_cpu_perf(sg_cpu->cpu, util, min, max); > } > > @@ -442,7 +443,7 @@ static void sugov_update_single_perf(struct update_util_data *hook, u64 time, > sugov_cpu_is_busy(sg_cpu) && sg_cpu->util < prev_util) > sg_cpu->util = prev_util; > > - cpufreq_driver_adjust_perf(sg_cpu->cpu, sg_cpu->bw_min, > + cpufreq_driver_adjust_perf(sg_cpu->cpu, map_util_perf(sg_cpu->bw_min), > sg_cpu->util, max_cap); > > sg_cpu->sg_policy->last_freq_update_time = time; > -- > 2.34.1 > > > > > > I'll keep that revert in my private test-tree for now (so that I have > > a working machine again), but I'll move it to my main branch soon > > unless somebody has a quick fix for this problem. > > > > Linus
| |