[PATCH V3 8/9] cpufreq: Keep policy->freq_table sorted in ascending order
Rafael J. Wysocki
rjw at rjwysocki.net
Mon Jun 6 22:10:26 AEST 2016
On Monday, June 06, 2016 09:22:31 AM Viresh Kumar wrote:
> 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.
What changes and where?
> I hope it will be fine if I do it in a separate patch on top of
> all this. Right ?
Depending.
More information about the Linuxppc-dev
mailing list