[PATCH V3 8/9] cpufreq: Keep policy->freq_table sorted in ascending order
Viresh Kumar
viresh.kumar at linaro.org
Mon Jun 6 13:52:31 AEST 2016
On 03-06-16, 16:48, Steve Muckle wrote:
> On Fri, Jun 03, 2016 at 07:05:14PM +0530, Viresh Kumar wrote:
> ...
> > @@ -468,20 +469,15 @@ unsigned int acpi_cpufreq_fast_switch(struct cpufreq_policy *policy,
> > struct acpi_cpufreq_data *data = policy->driver_data;
> > struct acpi_processor_performance *perf;
> > struct cpufreq_frequency_table *entry;
> > - unsigned int next_perf_state, next_freq, freq;
> > + unsigned int next_perf_state, next_freq, index;
> >
> > /*
> > * Find the closest frequency above target_freq.
> > - *
> > - * The table is sorted in the reverse order with respect to the
> > - * frequency and all of the entries are valid (see the initialization).
> > */
> > - entry = policy->freq_table;
> > - do {
> > - entry++;
> > - freq = entry->frequency;
> > - } while (freq >= target_freq && freq != CPUFREQ_TABLE_END);
> > - entry--;
> > + index = cpufreq_frequency_table_target(policy, target_freq,
> > + CPUFREQ_RELATION_L);
>
> Can we call cpufreq_find_index_l directly here? Seems like we could
> phase out cpufreq_frequency_table_target() for the most part and call
> the helpers directly. It would avoid some code bloat, an unnecessary
> switch statement and an error check for an invalid frequency table which
> seems unnecessary for every frequency table lookup.
I agree with that, though that requires larger changes across multiple
sites. I hope it will be fine if I do it in a separate patch on top of
all this. Right ?
--
viresh
More information about the Linuxppc-dev
mailing list