Re: [PATCH 05/10] cpufreq: governor: Drop __gov_queue_work()
From: Preeti U Murthy <hidden>
Date: 2015-06-26 07:03:51
On 06/22/2015 01:32 PM, Viresh Kumar wrote:
quoted hunk ↗ jump to hunk
__gov_queue_work() isn't required anymore and can be merged with gov_queue_work(). Do it. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> --- drivers/cpufreq/cpufreq_governor.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-)diff --git a/drivers/cpufreq/cpufreq_governor.c b/drivers/cpufreq/cpufreq_governor.c index 416a8c5665dd..ac288f0efb06 100644 --- a/drivers/cpufreq/cpufreq_governor.c +++ b/drivers/cpufreq/cpufreq_governor.c@@ -158,25 +158,20 @@ void dbs_check_cpu(struct dbs_data *dbs_data, int cpu) } EXPORT_SYMBOL_GPL(dbs_check_cpu); -static inline void __gov_queue_work(int cpu, struct dbs_data *dbs_data, - unsigned int delay) -{ - struct cpu_dbs_info *cdbs = dbs_data->cdata->get_cpu_cdbs(cpu); - - mod_delayed_work_on(cpu, system_wq, &cdbs->dwork, delay); -}
Looking at this patch I feel now that, you can simply make the above function non static and call the same from update_sampling_rate() in patch[04/10] It already gives scope to pass in the cpu parameter, if not the mask. Anyway you want to pass in a single cpu from update_sampling_rate(). This will avoid having to change the other call sites of gov_queue_work(). I also see elsewhere in the kernel where a fn() and __fn() are sometimes both non-static, with __fn() giving you the additional benefit of passing a critical parameter. Eg: __hrtimer_start_range_ns() and hrtimer_start_range_ns(). Regards Preeti U Murthy
-
void gov_queue_work(struct dbs_data *dbs_data, struct cpufreq_policy *policy,
unsigned int delay, const struct cpumask *cpus)
{
- int i;
+ struct cpu_dbs_info *cdbs;
+ int cpu;
mutex_lock(&cpufreq_governor_lock);
if (!policy->governor_enabled)
goto out_unlock;
- for_each_cpu(i, cpus)
- __gov_queue_work(i, dbs_data, delay);
+ for_each_cpu(cpu, cpus) {
+ cdbs = dbs_data->cdata->get_cpu_cdbs(cpu);
+ mod_delayed_work_on(cpu, system_wq, &cdbs->dwork, delay);
+ }
out_unlock:
mutex_unlock(&cpufreq_governor_lock);