There is one thread for each cluster (cpufreq policy domain). Bound them to run only on the related_cpus of that domain, as to avoid spurious wakeups on unrelated cpus.
Signed-off-by: Juri Lelli juri.lelli@arm.com --- kernel/sched/energy_model.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/sched/energy_model.c b/kernel/sched/energy_model.c index 64bd50e..df18dac 100644 --- a/kernel/sched/energy_model.c +++ b/kernel/sched/energy_model.c @@ -71,7 +71,7 @@ static int energy_model_thread(void *data)
param.sched_priority = 0; sched_setscheduler(current, SCHED_FIFO, ¶m); - + sched_setaffinity(0, policy->related_cpus);
do { down_write(&policy->rwsem); -- 2.2.2