On Monday, March 28, 2016 12:33:41 PM Viresh Kumar wrote: > forgot to review acpi update earlier .. > > On 22-03-16, 02:53, Rafael J. Wysocki wrote: > > Index: linux-pm/drivers/cpufreq/acpi-cpufreq.c > > =================================================================== > > --- linux-pm.orig/drivers/cpufreq/acpi-cpufreq.c > > +++ linux-pm/drivers/cpufreq/acpi-cpufreq.c > > @@ -458,6 +458,43 @@ static int acpi_cpufreq_target(struct cp > > return result; > > } > > > > +unsigned int acpi_cpufreq_fast_switch(struct cpufreq_policy *policy, > > + unsigned int target_freq) > > +{ > > + 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; > > + > > + /* > > + * 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 = data->freq_table; > > + do { > > + entry++; > > + freq = entry->frequency; > > + } while (freq >= target_freq && freq != CPUFREQ_TABLE_END); > > Consider this table: > > 11000 > 10000 > 9000 > > And a target-freq of 10000. > > Wouldn't you end up selecting 11000 ? Or did I misread it ? In that case the loop will break for freq = 9000 (as per the above freq >= freq_target check), so it looks like you've misread it. Thanks, Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html