Messages in this thread | | | From | Vincent Guittot <> | Date | Mon, 22 Jun 2020 10:22:42 +0200 | Subject | Re: [PATCH 1/3] thermal/cpu-cooling, sched/core: Cleanup thermal pressure definition |
| |
On Sat, 20 Jun 2020 at 19:49, Ionela Voinescu <ionela.voinescu@arm.com> wrote: > > Hi Vincent, > > On Thursday 18 Jun 2020 at 17:03:24 (+0200), Vincent Guittot wrote: > > On Sun, 14 Jun 2020 at 03:10, Valentin Schneider > > <valentin.schneider@arm.com> wrote: > [..] > > > diff --git a/drivers/thermal/cpufreq_cooling.c b/drivers/thermal/cpufreq_cooling.c > > > index e297e135c031..a1efd379b683 100644 > > > --- a/drivers/thermal/cpufreq_cooling.c > > > +++ b/drivers/thermal/cpufreq_cooling.c > > > @@ -417,6 +417,11 @@ static int cpufreq_get_cur_state(struct thermal_cooling_device *cdev, > > > return 0; > > > } > > > > > > +__weak void > > > +arch_set_thermal_pressure(const struct cpumask *cpus, unsigned long th_pressure) > > > +{ > > > +} > > > > Having this weak function declared in cpufreq_cooling is weird. This > > means that we will have to do so for each one that wants to use it. > > > > Can't you declare an empty function in a common header file ? > > Do we expect anyone other than cpufreq_cooling to call > arch_set_thermal_pressure()?
Yes, cpufreq cooling device is only 1 possible way to do thermal mitigation
> > I'm not against any of the options, either having it here as a week > default definition (same as done for arch_set_freq_scale() in cpufreq.c) > or in a common header (as done for arch_scale_freq_capacity() in sched.h). > > But for me, Valentin's implementation seems more natural as setters are > usually only called from within the framework that does the control > (throttling for thermal or frequency setting for cpufreq) and we > probably want to think twice if we want to call them from other places. > > Thanks, > Ionela.
| |