Re: [PATCH 6/12] cpufreq: governor: Fix CPU load information updates via ->store

From: Rafael J. Wysocki
Date: Thu Feb 18 2016 - 12:37:25 EST


On Thu, Feb 18, 2016 at 6:44 AM, Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote:
> On 18-02-16, 02:26, Rafael J. Wysocki wrote:
>> Index: linux-pm/drivers/cpufreq/cpufreq_ondemand.c
>> ===================================================================
>> --- linux-pm.orig/drivers/cpufreq/cpufreq_ondemand.c
>> +++ linux-pm/drivers/cpufreq/cpufreq_ondemand.c
>> @@ -29,6 +29,7 @@
>>
>> static DEFINE_PER_CPU(struct od_cpu_dbs_info_s, od_cpu_dbs_info);
>>
>> +static struct dbs_governor od_dbs_gov;
>> static struct od_ops od_ops;
>>
>> static unsigned int default_powersave_bias;
>> @@ -222,7 +223,6 @@ static ssize_t store_io_is_busy(struct d
>> {
>> unsigned int input;
>> int ret;
>> - unsigned int j;
>>
>> ret = sscanf(buf, "%u", &input);
>> if (ret != 1)
>> @@ -230,12 +230,8 @@ static ssize_t store_io_is_busy(struct d
>> dbs_data->io_is_busy = !!input;
>>
>> /* we need to re-evaluate prev_cpu_idle */
>> - for_each_online_cpu(j) {
>> - struct od_cpu_dbs_info_s *dbs_info = &per_cpu(od_cpu_dbs_info,
>> - j);
>> - dbs_info->cdbs.prev_cpu_idle = get_cpu_idle_time(j,
>> - &dbs_info->cdbs.prev_cpu_wall, dbs_data->io_is_busy);
>> - }
>
> We weren't doing ignore_nice_load check here, but will be done after
> this patch. Will that make a different?

Yes, IMO failing to update prev_cpu_nice if ignore_nice_load is set is
at least inconsistent with the other updates.

> And then this should be mentioned in the log as well ?

OK, I'll update the changelog to mention that.

> Apart from that.
>
> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>

Thanks!