sched: window-stats: adjust RQ curr, prev sums on task migration
Adjust cpu's busy time in its recent and previous window upon task migration. This would enable scheduler to provide better inputs to cpufreq governor on a cpu's busy time in a given window. Change-Id: Idec2ca459382e9f46d882da3af53148412d631c6 Signed-off-by: Steve Muckle <smuckle@codeaurora.org> Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
This commit is contained in:
parent
bb0b8e9859
commit
cebda4b7a3
1 changed files with 17 additions and 1 deletions
|
@ -1623,8 +1623,24 @@ void set_task_cpu(struct task_struct *p, unsigned int new_cpu)
|
|||
p->se.nr_migrations++;
|
||||
perf_event_task_migrate(p);
|
||||
|
||||
if (p->state == TASK_RUNNING)
|
||||
#if defined(CONFIG_SCHED_FREQ_INPUT) || defined(CONFIG_SCHED_HMP)
|
||||
if (p->on_rq) {
|
||||
struct rq *src_rq = task_rq(p);
|
||||
struct rq *dest_rq = cpu_rq(new_cpu);
|
||||
|
||||
p->on_rq = 0; /* Fixme */
|
||||
update_task_ravg(p, task_rq(p), 0);
|
||||
p->on_rq = 1; /* Fixme */
|
||||
update_task_ravg(dest_rq->curr, dest_rq, 1);
|
||||
|
||||
|
||||
src_rq->curr_runnable_sum -= p->ravg.sum;
|
||||
src_rq->prev_runnable_sum -= p->ravg.prev_window;
|
||||
dest_rq->curr_runnable_sum += p->ravg.sum;
|
||||
dest_rq->prev_runnable_sum += p->ravg.prev_window;
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
__set_task_cpu(p, new_cpu);
|
||||
|
|
Loading…
Add table
Reference in a new issue