[tip:sched/core] sched: Fix sched::sched_stat_wait tracepoint field

From: tip-bot for Ingo Molnar
Date: Thu Sep 10 2009 - 14:58:24 EST


Commit-ID: e1f8450854d69f0291882804406ea1bab3ca44b4
Gitweb: http://git.kernel.org/tip/e1f8450854d69f0291882804406ea1bab3ca44b4
Author: Ingo Molnar <mingo@xxxxxxx>
AuthorDate: Thu, 10 Sep 2009 20:52:09 +0200
Committer: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Thu, 10 Sep 2009 20:52:54 +0200

sched: Fix sched::sched_stat_wait tracepoint field

This weird perf trace output:

cc1-9943 [001] 2802.059479616: sched_stat_wait: task: as:9944 wait: 2801938766276 [ns]

Is caused by setting one component field of the delta to zero
a bit too early. Move it to later.

( Note, this does not affect the NEW_FAIR_SLEEPERS interactivity bug,
it's just a reporting bug in essence. )

Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Nikos Chantziaras <realnc@xxxxxxxx>
Cc: Jens Axboe <jens.axboe@xxxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
LKML-Reference: <4AA93D34.8040500@xxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>


---
kernel/sched_fair.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index 26fadb4..aa7f841 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -545,14 +545,13 @@ update_stats_wait_end(struct cfs_rq *cfs_rq, struct sched_entity *se)
schedstat_set(se->wait_count, se->wait_count + 1);
schedstat_set(se->wait_sum, se->wait_sum +
rq_of(cfs_rq)->clock - se->wait_start);
- schedstat_set(se->wait_start, 0);
-
#ifdef CONFIG_SCHEDSTATS
if (entity_is_task(se)) {
trace_sched_stat_wait(task_of(se),
rq_of(cfs_rq)->clock - se->wait_start);
}
#endif
+ schedstat_set(se->wait_start, 0);
}

static inline void
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/