Messages in this thread Patch in this message |  | | Date | Wed, 19 May 2021 08:09:07 -0000 | | From | "tip-bot2 for Peter Zijlstra" <> | | Subject | [tip: sched/core] sched,stats: Further simplify sched_info |
| |
The following commit has been merged into the sched/core branch of tip:
Commit-ID: 90a0ff4ec9c65cae3085d23301933172cea3f38a Gitweb: https://git.kernel.org/tip/90a0ff4ec9c65cae3085d23301933172cea3f38a Author: Peter Zijlstra <peterz@infradead.org> AuthorDate: Wed, 12 May 2021 13:32:37 +02:00 Committer: Peter Zijlstra <peterz@infradead.org> CommitterDate: Tue, 18 May 2021 12:53:53 +02:00
sched,stats: Further simplify sched_info
There's no point doing delta==0 updates.
Suggested-by: Mel Gorman <mgorman@suse.de> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> --- kernel/sched/stats.h | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/kernel/sched/stats.h b/kernel/sched/stats.h index 33ffd41..111072e 100644 --- a/kernel/sched/stats.h +++ b/kernel/sched/stats.h @@ -160,10 +160,11 @@ static inline void sched_info_dequeue(struct rq *rq, struct task_struct *t) { unsigned long long delta = 0; - if (t->sched_info.last_queued) { - delta = rq_clock(rq) - t->sched_info.last_queued; - t->sched_info.last_queued = 0; - } + if (!t->sched_info.last_queued) + return; + + delta = rq_clock(rq) - t->sched_info.last_queued; + t->sched_info.last_queued = 0; t->sched_info.run_delay += delta; rq_sched_info_dequeue(rq, delta); @@ -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) { - unsigned long long now = rq_clock(rq), delta = 0; + unsigned long long now, delta = 0; - if (t->sched_info.last_queued) { - delta = now - t->sched_info.last_queued; - t->sched_info.last_queued = 0; - } + if (!t->sched_info.last_queued) + return; + + 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.last_arrival = now; t->sched_info.pcount++;
|  |