When log CPU's load and utilization, should directly use CPU's cfs_rq
for tracking. If use the task's cfs_rq, it may introduce error value
by using task_group's cfs_rq but not real CPU's cfs_rq.
Signed-off-by: Leo Yan <leo.yan(a)linaro.org>
---
kernel/sched/fair.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 6ac9ea3..26f3f2d 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -2825,7 +2825,7 @@ static inline void update_load_avg(struct sched_entity *se, int update_tg)
if (entity_is_task(se))
trace_sched_load_avg_task(task_of(se), &se->avg);
- trace_sched_load_avg_cpu(cpu, cfs_rq);
+ trace_sched_load_avg_cpu(cpu, &cpu_rq(cpu)->cfs);
}
static void attach_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
--
1.9.1
the cap_idx should be set to energy_env->cap_idx,
it is used by group_norm_usage() later.
Signed-off-by: Mark Yang <mark.yang(a)spreadtrum.com>
---
kernel/sched/fair.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 93005c9..ced4a99 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -4617,7 +4617,7 @@ static int find_new_capacity(struct energy_env *eenv,
for (idx = 0; idx < sge->nr_cap_states; idx++) {
if (sge->cap_states[idx].cap >= util)
- return idx;
+ break;
}
eenv->cap_idx = idx;
--
2.5.0