sched: Make wallclock more accurate
update_task_ravg() in context switch uses wallclock that is updated before running put_prev_task() and pick_next_task(), both of which can take some time. Its better to update wallclock after those routines, leading to more accurate accounting. Change-Id: I882b1f0e8eddd2cc17d42ca2ab8f7a2841b8d89a Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
This commit is contained in:
parent
6998234564
commit
d8b3941313
1 changed files with 1 additions and 1 deletions
|
@ -4024,8 +4024,8 @@ static void __sched notrace __schedule(bool preempt)
|
||||||
if (task_on_rq_queued(prev))
|
if (task_on_rq_queued(prev))
|
||||||
update_rq_clock(rq);
|
update_rq_clock(rq);
|
||||||
|
|
||||||
wallclock = sched_clock();
|
|
||||||
next = pick_next_task(rq, prev);
|
next = pick_next_task(rq, prev);
|
||||||
|
wallclock = sched_clock();
|
||||||
update_task_ravg(prev, rq, PUT_PREV_TASK, wallclock, NULL);
|
update_task_ravg(prev, rq, PUT_PREV_TASK, wallclock, NULL);
|
||||||
update_task_ravg(next, rq, PICK_NEXT_TASK, wallclock, NULL);
|
update_task_ravg(next, rq, PICK_NEXT_TASK, wallclock, NULL);
|
||||||
clear_tsk_need_resched(prev);
|
clear_tsk_need_resched(prev);
|
||||||
|
|
Loading…
Add table
Reference in a new issue