ondemand: updated tune for hardware coordination
PATCH 1/2 ondemand: updated tune for hardware coordination
cpufreq_ondemand.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
Try to make dbs_check_cpu() call on all CPUs at the same jiffy. This will help when multiple cores share P-states via Hardware Coordination.
drivers/cpufreq/cpufreq_ondemand.c +0 -0
@@ -305,6 +305,9 @@
{
unsigned int cpu = smp_processor_id();
struct cpu_dbs_info_s *dbs_info = &per_cpu(cpu_dbs_info, cpu);+ /* We want all CPUs to do sampling nearly on same jiffy */
+ int delay = usecs_to_jiffies(dbs_tuners_ins.sampling_rate);
+ delay -= jiffies % delay;
if (!dbs_info->enable) return; @@ -312,18 +315,18 @@ lock_cpu_hotplug(); dbs_check_cpu(dbs_info); unlock_cpu_hotplug();
- queue_delayed_work_on(cpu, kondemand_wq, &dbs_info->work,
- usecs_to_jiffies(dbs_tuners_ins.sampling_rate));
+ queue_delayed_work_on(cpu, kondemand_wq, &dbs_info->work, delay);
}
static inline void dbs_timer_init(unsigned int cpu)
{
struct cpu_dbs_info_s *dbs_info = &per_cpu(cpu_dbs_info, cpu);+ /* We want all CPUs to do sampling nearly on same jiffy */
+ int delay = usecs_to_jiffies(dbs_tuners_ins.sampling_rate);
+ delay -= jiffies % delay;
INIT_WORK(&dbs_info->work, do_dbs_timer, 0);
- queue_delayed_work_on(cpu, kondemand_wq, &dbs_info->work,
- usecs_to_jiffies(dbs_tuners_ins.sampling_rate));
- return;
+ queue_delayed_work_on(cpu, kondemand_wq, &dbs_info->work, delay);
}
static inline void dbs_timer_exit(struct cpu_dbs_info_s *dbs_info)
Quoted 9 lines · Alexey Starikovskiy
cpufreq_ondemand.c| 13 ++++++++-----1 file changed, 8 insertions(+), 5 deletions(-)Try to make
dbs_check_cpu()call on all CPUs at the same jiffy. This will help when multiple cores share P-states via Hardware Coordination.Signed-off-by Venkatesh Pallipadi <venkatesh.pallipadi at intel.com>Signed-off-by Alexey Starikovskiy <alexey.y.starikovskiy at intel.com>
Still doesn't apply..
error: patch failed: drivers/cpufreq/cpufreq_ondemand.c:303
error: drivers/cpufreq/cpufreq_ondemand.c: patch does not apply
Quoted 1 line
Index:
linux-2.6.15.1/drivers/cpufreq/cpufreq_ondemand.c
^^^^^^^^
Hmmm?
Dave
Signature · 1 line
http://www.codemonkey.org.uk
Quoted 8 lines · Dave Jones
Quoted 7 lines · Alexey Starikovskiy
cpufreq_ondemand.c| 13 ++++++++-----1 file changed, 8 insertions(+), 5 deletions(-)Try to make
dbs_check_cpu()call on all CPUs at the same jiffy. This will help when multiple cores share P-states via Hardware Coordination.
Quoted 7 lines
Quoted 2 lines
Signed-off-by Venkatesh Pallipadi <venkatesh.pallipadi at intel.com>Signed-off-by Alexey Starikovskiy <alexey.y.starikovskiy at intel.com>Still doesn't apply..
error: patch failed:
drivers/cpufreq/cpufreq_ondemand.c:303
error:drivers/cpufreq/cpufreq_ondemand.c: patch does not apply
It requires Arjan's patch to cpufreq, sitting in Linus tree for 3 days already.
Quoted 5 lines
Quoted 3 lines
Index:
linux-2.6.15.1/drivers/cpufreq/cpufreq_ondemand.c^^^^^^^^Hmmm?
Read it as 2.6.18-rc3...
Quoted 3 lines
Dave
Quoted 9 lines · Alexey Starikovskiy
Quoted 8 lines · Dave Jones
Quoted 7 lines · Alexey Starikovskiy
cpufreq_ondemand.c| 13 ++++++++-----1 file changed, 8 insertions(+), 5 deletions(-)Try to make
dbs_check_cpu()call on all CPUs at the same jiffy. This will help when multiple cores share P-states via Hardware Coordination.
Quoted 8 lines
Quoted 7 lines
Quoted 2 lines
Signed-off-by Venkatesh Pallipadi <venkatesh.pallipadi at intel.com>Signed-off-by Alexey Starikovskiy <alexey.y.starikovskiy at intel.com>Still doesn't apply..
error: patch failed:
drivers/cpufreq/cpufreq_ondemand.c:303
error:drivers/cpufreq/cpufreq_ondemand.c: patch does not applyIt requires Arjan's patch to cpufreq, sitting in Linus tree for 3 days already.
This was after I'd rebased the cpufreq.git tree to Linus' latest yesterday.
Dave
Signature · 1 line
http://www.codemonkey.org.uk
Quoted 15 lines · Dave Jones
Quoted 14 lines · Alexey Starikovskiy
Quoted 13 lines · Dave Jones
Quoted 9 lines · Alexey Starikovskiy
cpufreq_ondemand.c| 13 ++++++++-----1 file changed, 8 insertions(+), 5 deletions(-)Try to make
dbs_check_cpu()call on all CPUs at the same jiffy. This will help when multiple cores share P-states via Hardware Coordination.Signed-off-by Venkatesh Pallipadi <venkatesh.pallipadi at intel.com>Signed-off-by Alexey Starikovskiy <alexey.y.starikovskiy at intel.com>Still doesn't apply..
Quoted 8 lines
Quoted 3 lines
Quoted 2 lines
error: patch failed:
drivers/cpufreq/cpufreq_ondemand.c:303
error:drivers/cpufreq/cpufreq_ondemand.c: patch does not applyIt requires Arjan's patch to cpufreq, sitting in Linus tree for 3 days already.
This was after I'd rebased the cpufreq.git tree to Linus' latest yesterday.
Dave
Just checked once again. Version I've sent yesterday cleanly applies to your just updated cpufreq.git tree.