summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorSrivatsa Vaddagiri <vatsa@codeaurora.org>2014-07-30 04:51:28 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:00:11 -0700
commitb9f8d63c0804a92b9991a693fd294a862b13318c (patch)
tree498303b4787893c99f49b1faa4e65442f7a6c7db /kernel
parent8e526b1ab439c3a013d4e27b7e0dc0fae031599d (diff)
sched: window-stats: update task demand on tick
A task can execute on a cpu for a long time without being preempted or migrated. In such case, its demand can become outdated for a long time. Prevent that from happening by updating demand of currently running task during scheduler tick. Change-Id: I321917b4590635c0a612560e3a1baf1e6921e792 CRs-Fixed: 698662 Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org> [joonwoop@codeaurora.org: fixed trivial merge conflict in core.c] Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched/core.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index ff911672e88f..f111d1a4b32e 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -3889,6 +3889,7 @@ void scheduler_tick(void)
curr->sched_class->task_tick(rq, curr, 0);
update_cpu_load_active(rq);
calc_global_load_tick(rq);
+ update_task_ravg(rq->curr, rq, TASK_UPDATE, sched_clock(), NULL);
raw_spin_unlock(&rq->lock);
perf_event_task_tick();