Message ID | 5396207D.7030704@semaphore.gr (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On 10 June 2014 02:30, Stratos Karafotis <stratosk@semaphore.gr> wrote: > Simplify the code by removing the inline functions > pstate_increase and pstate_decrease and use directly the > intel_pstate_set_pstate. > > Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr> > --- > drivers/cpufreq/intel_pstate.c | 26 +++----------------------- > 1 file changed, 3 insertions(+), 23 deletions(-) > > diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c > index 3a49269..26a0262 100644 > --- a/drivers/cpufreq/intel_pstate.c > +++ b/drivers/cpufreq/intel_pstate.c > @@ -588,21 +588,6 @@ static void intel_pstate_set_pstate(struct cpudata *cpu, int pstate) > pstate_funcs.set(cpu, pstate); > } > > -static inline void intel_pstate_pstate_increase(struct cpudata *cpu, int steps) > -{ > - int target; > - target = cpu->pstate.current_pstate + steps; > - > - intel_pstate_set_pstate(cpu, target); > -} > - > -static inline void intel_pstate_pstate_decrease(struct cpudata *cpu, int steps) > -{ > - int target; > - target = cpu->pstate.current_pstate - steps; > - intel_pstate_set_pstate(cpu, target); > -} > - > static void intel_pstate_get_cpu_pstates(struct cpudata *cpu) > { > cpu->pstate.min_pstate = pstate_funcs.get_min(); > @@ -695,20 +680,15 @@ static inline void intel_pstate_calc_scaled_busy(struct cpudata *cpu) > static inline void intel_pstate_adjust_busy_pstate(struct cpudata *cpu) > { > struct _pid *pid; > - signed int ctl = 0; > - int steps; > + signed int ctl; > > pid = &cpu->pid; > intel_pstate_calc_scaled_busy(cpu); > > ctl = pid_calc(pid, cpu->sample.busy_scaled); > > - steps = abs(ctl); > - > - if (ctl < 0) > - intel_pstate_pstate_increase(cpu, steps); > - else > - intel_pstate_pstate_decrease(cpu, steps); > + /* Negative values of ctl increase the pstate and vice versa */ > + intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate - ctl); > } I am not very good at this driver but there is some obvious functional change here. Earlier we used to pass 'cpu->pstate.current_pstate {-|+} steps' and now you are doing '-ctl' only -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 10/06/2014 08:27 ??, Viresh Kumar wrote: > On 10 June 2014 02:30, Stratos Karafotis <stratosk@semaphore.gr> wrote: >> Simplify the code by removing the inline functions >> pstate_increase and pstate_decrease and use directly the >> intel_pstate_set_pstate. >> >> Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr> >> --- >> drivers/cpufreq/intel_pstate.c | 26 +++----------------------- >> 1 file changed, 3 insertions(+), 23 deletions(-) >> >> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c >> index 3a49269..26a0262 100644 >> --- a/drivers/cpufreq/intel_pstate.c >> +++ b/drivers/cpufreq/intel_pstate.c >> @@ -588,21 +588,6 @@ static void intel_pstate_set_pstate(struct cpudata *cpu, int pstate) >> pstate_funcs.set(cpu, pstate); >> } >> >> -static inline void intel_pstate_pstate_increase(struct cpudata *cpu, int steps) >> -{ >> - int target; >> - target = cpu->pstate.current_pstate + steps; >> - >> - intel_pstate_set_pstate(cpu, target); >> -} >> - >> -static inline void intel_pstate_pstate_decrease(struct cpudata *cpu, int steps) >> -{ >> - int target; >> - target = cpu->pstate.current_pstate - steps; >> - intel_pstate_set_pstate(cpu, target); >> -} >> - >> static void intel_pstate_get_cpu_pstates(struct cpudata *cpu) >> { >> cpu->pstate.min_pstate = pstate_funcs.get_min(); >> @@ -695,20 +680,15 @@ static inline void intel_pstate_calc_scaled_busy(struct cpudata *cpu) >> static inline void intel_pstate_adjust_busy_pstate(struct cpudata *cpu) >> { >> struct _pid *pid; >> - signed int ctl = 0; >> - int steps; >> + signed int ctl; >> >> pid = &cpu->pid; >> intel_pstate_calc_scaled_busy(cpu); >> >> ctl = pid_calc(pid, cpu->sample.busy_scaled); >> >> - steps = abs(ctl); >> - >> - if (ctl < 0) >> - intel_pstate_pstate_increase(cpu, steps); >> - else >> - intel_pstate_pstate_decrease(cpu, steps); >> + /* Negative values of ctl increase the pstate and vice versa */ >> + intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate - ctl); >> } > > I am not very good at this driver but there is some obvious functional > change here. Earlier we used to pass > 'cpu->pstate.current_pstate {-|+} steps' and now you are doing '-ctl' only > The original code is: if (ctl < 0) intel_pstate_pstate_increase(cpu, steps); else intel_pstate_pstate_decrease(cpu, steps); Without inlines functions intel_pstate_pstate_increase() and intel_pstate_pstate_decrease() we get: if (ctl < 0) intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate + steps); else intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate - steps); But steps = abs(ctl), so: if (ctl < 0) intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate + abs(ctl)); else intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate - abs(ctl)); By definition, abs(ctl) = ctl if ctl >= 0, -ctl if ctl < 0. Thus: if (ctl < 0) intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate + (-ctl)); else intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate - ctl); And: if (ctl < 0) intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate - ctl); else intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate - ctl); Finally remove the unnecessary if statement. intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate - ctl); So, this is equivalent with the original code. Thanks, Stratos -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 06/10/2014 07:51 AM, Stratos Karafotis wrote: > On 10/06/2014 08:27 ??, Viresh Kumar wrote: >> On 10 June 2014 02:30, Stratos Karafotis <stratosk@semaphore.gr> wrote: >>> Simplify the code by removing the inline functions >>> pstate_increase and pstate_decrease and use directly the >>> intel_pstate_set_pstate. >>> Doesn't apply without your scaled_busy change spin this patch with out the scaled_busy change and explain the change more fully in the commit message to cover Viresh's question and I am good with this change. >>> Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr> >>> --- >>> drivers/cpufreq/intel_pstate.c | 26 +++----------------------- >>> 1 file changed, 3 insertions(+), 23 deletions(-) >>> >>> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c >>> index 3a49269..26a0262 100644 >>> --- a/drivers/cpufreq/intel_pstate.c >>> +++ b/drivers/cpufreq/intel_pstate.c >>> @@ -588,21 +588,6 @@ static void intel_pstate_set_pstate(struct cpudata *cpu, int pstate) >>> pstate_funcs.set(cpu, pstate); >>> } >>> >>> -static inline void intel_pstate_pstate_increase(struct cpudata *cpu, int steps) >>> -{ >>> - int target; >>> - target = cpu->pstate.current_pstate + steps; >>> - >>> - intel_pstate_set_pstate(cpu, target); >>> -} >>> - >>> -static inline void intel_pstate_pstate_decrease(struct cpudata *cpu, int steps) >>> -{ >>> - int target; >>> - target = cpu->pstate.current_pstate - steps; >>> - intel_pstate_set_pstate(cpu, target); >>> -} >>> - >>> static void intel_pstate_get_cpu_pstates(struct cpudata *cpu) >>> { >>> cpu->pstate.min_pstate = pstate_funcs.get_min(); >>> @@ -695,20 +680,15 @@ static inline void intel_pstate_calc_scaled_busy(struct cpudata *cpu) >>> static inline void intel_pstate_adjust_busy_pstate(struct cpudata *cpu) >>> { >>> struct _pid *pid; >>> - signed int ctl = 0; >>> - int steps; >>> + signed int ctl; >>> >>> pid = &cpu->pid; >>> intel_pstate_calc_scaled_busy(cpu); >>> >>> ctl = pid_calc(pid, cpu->sample.busy_scaled); >>> >>> - steps = abs(ctl); >>> - >>> - if (ctl < 0) >>> - intel_pstate_pstate_increase(cpu, steps); >>> - else >>> - intel_pstate_pstate_decrease(cpu, steps); >>> + /* Negative values of ctl increase the pstate and vice versa */ >>> + intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate - ctl); >>> } >> >> I am not very good at this driver but there is some obvious functional >> change here. Earlier we used to pass >> 'cpu->pstate.current_pstate {-|+} steps' and now you are doing '-ctl' only >> > > The original code is: > > if (ctl < 0) > intel_pstate_pstate_increase(cpu, steps); > else > intel_pstate_pstate_decrease(cpu, steps); > > Without inlines functions intel_pstate_pstate_increase() and > intel_pstate_pstate_decrease() we get: > > if (ctl < 0) > intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate + steps); > else > intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate - steps); > > > But steps = abs(ctl), so: > > if (ctl < 0) > intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate + abs(ctl)); > else > intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate - abs(ctl)); > > By definition, abs(ctl) = ctl if ctl >= 0, -ctl if ctl < 0. Thus: > > if (ctl < 0) > intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate + (-ctl)); > else > intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate - ctl); > > And: > if (ctl < 0) > intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate - ctl); > else > intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate - ctl); > > Finally remove the unnecessary if statement. > intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate - ctl); > > So, this is equivalent with the original code. > > Thanks, > Stratos > -- > To unsubscribe from this list: send the line "unsubscribe linux-pm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 10/06/2014 08:07 ??, Dirk Brandewie wrote: > On 06/10/2014 07:51 AM, Stratos Karafotis wrote: >> On 10/06/2014 08:27 ??, Viresh Kumar wrote: >>> On 10 June 2014 02:30, Stratos Karafotis <stratosk@semaphore.gr> wrote: >>>> Simplify the code by removing the inline functions >>>> pstate_increase and pstate_decrease and use directly the >>>> intel_pstate_set_pstate. >>>> > > Doesn't apply without your scaled_busy change spin this patch with > out the scaled_busy change and explain the change more fully in the > commit message to cover Viresh's question and I am good with this change. > > OK, I will. Thanks, Stratos -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c index 3a49269..26a0262 100644 --- a/drivers/cpufreq/intel_pstate.c +++ b/drivers/cpufreq/intel_pstate.c @@ -588,21 +588,6 @@ static void intel_pstate_set_pstate(struct cpudata *cpu, int pstate) pstate_funcs.set(cpu, pstate); } -static inline void intel_pstate_pstate_increase(struct cpudata *cpu, int steps) -{ - int target; - target = cpu->pstate.current_pstate + steps; - - intel_pstate_set_pstate(cpu, target); -} - -static inline void intel_pstate_pstate_decrease(struct cpudata *cpu, int steps) -{ - int target; - target = cpu->pstate.current_pstate - steps; - intel_pstate_set_pstate(cpu, target); -} - static void intel_pstate_get_cpu_pstates(struct cpudata *cpu) { cpu->pstate.min_pstate = pstate_funcs.get_min(); @@ -695,20 +680,15 @@ static inline void intel_pstate_calc_scaled_busy(struct cpudata *cpu) static inline void intel_pstate_adjust_busy_pstate(struct cpudata *cpu) { struct _pid *pid; - signed int ctl = 0; - int steps; + signed int ctl; pid = &cpu->pid; intel_pstate_calc_scaled_busy(cpu); ctl = pid_calc(pid, cpu->sample.busy_scaled); - steps = abs(ctl); - - if (ctl < 0) - intel_pstate_pstate_increase(cpu, steps); - else - intel_pstate_pstate_decrease(cpu, steps); + /* Negative values of ctl increase the pstate and vice versa */ + intel_pstate_set_pstate(cpu, cpu->pstate.current_pstate - ctl); } static void intel_pstate_timer_func(unsigned long __data)
Simplify the code by removing the inline functions pstate_increase and pstate_decrease and use directly the intel_pstate_set_pstate. Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr> --- drivers/cpufreq/intel_pstate.c | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-)