Messages in this thread Patch in this message | | | From | Lukasz Majewski <> | Subject | [PATCH 1/2] sched: Use do_div() for 64 bit division at power utilization calculation (putil) | Date | Thu, 23 May 2013 10:34:23 +0200 |
| |
Now explicit casting is done when power usage variable (putil) is calculated
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> --- This patch was developed on top of the following Alex's repository: https://github.com/alexshi/power-scheduling/commits/power-scheduling --- kernel/sched/fair.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index f0ead38..14d29b3 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -3471,8 +3471,10 @@ find_leader_cpu(struct sched_group *group, struct task_struct *p, int this_cpu, int leader_cpu = -1; int i; /* percentage of the task's util */ - unsigned putil = (u64)(p->se.avg.runnable_avg_sum << SCHED_POWER_SHIFT) - / (p->se.avg.runnable_avg_period + 1); + unsigned putil; + u64 tmp = (u64) p->se.avg.runnable_avg_sum << SCHED_POWER_SHIFT; + do_div(tmp, (p->se.avg.runnable_avg_period + 1)); + putil = (unsigned) tmp; /* bias toward local cpu */ if (cpumask_test_cpu(this_cpu, tsk_cpus_allowed(p)) && -- 1.7.10.4
| |