Re: [PATCH v3] cpufreq: ondemand: handle SW coordinated CPUs
From: Rafael J. Wysocki <hidden>
Date: 2012-11-22 21:23:33
Also in:
lkml
On Thursday, November 22, 2012 06:02:37 PM Fabio Baltieri wrote:
Hello Rafael, thanks for the review! I only have one concern before sending a v4: On Thu, Nov 22, 2012 at 01:10:15AM +0100, Rafael J. Wysocki wrote:quoted
quoted
@@ -627,32 +659,41 @@ static void do_dbs_timer(struct work_struct *work) delay -= jiffies % delay; } } else { - __cpufreq_driver_target(dbs_info->cur_policy, - dbs_info->freq_lo, CPUFREQ_RELATION_H); + if (sample) + __cpufreq_driver_target(dbs_info->cur_policy, + dbs_info->freq_lo, + CPUFREQ_RELATION_H); delay = dbs_info->freq_lo_jiffies; } - schedule_delayed_work_on(cpu, &dbs_info->work, delay); + schedule_delayed_work_on(smp_processor_id(), dw, delay);We're not supposed to be using smp_processor_id() any more. get_cpu()/put_cpu() should be used instead.That's going to add preemption protection, do I need that? The function is called from a kworker with the affinity set on a specific CPU, so it should not migrate to a different one during execution.
Yes, you're right, in that case it should be OK.
I agree with you for all the other comments.
Cool. :-) Thanks, Rafael -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center.