Commit 90a0ff4e authored by Peter Zijlstra's avatar Peter Zijlstra

sched,stats: Further simplify sched_info

There's no point doing delta==0 updates.
Suggested-by: default avatarMel Gorman <mgorman@suse.de>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
parent 915a2bc3
...@@ -160,10 +160,11 @@ static inline void sched_info_dequeue(struct rq *rq, struct task_struct *t) ...@@ -160,10 +160,11 @@ static inline void sched_info_dequeue(struct rq *rq, struct task_struct *t)
{ {
unsigned long long delta = 0; unsigned long long delta = 0;
if (t->sched_info.last_queued) { if (!t->sched_info.last_queued)
delta = rq_clock(rq) - t->sched_info.last_queued; return;
t->sched_info.last_queued = 0;
} delta = rq_clock(rq) - t->sched_info.last_queued;
t->sched_info.last_queued = 0;
t->sched_info.run_delay += delta; t->sched_info.run_delay += delta;
rq_sched_info_dequeue(rq, delta); rq_sched_info_dequeue(rq, delta);
...@@ -176,12 +177,14 @@ static inline void sched_info_dequeue(struct rq *rq, struct task_struct *t) ...@@ -176,12 +177,14 @@ static inline void sched_info_dequeue(struct rq *rq, struct task_struct *t)
*/ */
static void sched_info_arrive(struct rq *rq, struct task_struct *t) static void sched_info_arrive(struct rq *rq, struct task_struct *t)
{ {
unsigned long long now = rq_clock(rq), delta = 0; unsigned long long now, delta = 0;
if (t->sched_info.last_queued) { if (!t->sched_info.last_queued)
delta = now - t->sched_info.last_queued; return;
t->sched_info.last_queued = 0;
} now = rq_clock(rq);
delta = now - t->sched_info.last_queued;
t->sched_info.last_queued = 0;
t->sched_info.run_delay += delta; t->sched_info.run_delay += delta;
t->sched_info.last_arrival = now; t->sched_info.last_arrival = now;
t->sched_info.pcount++; t->sched_info.pcount++;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment