Commit e1f8450854d69f0291882804406ea1bab3ca44b4
1 parent
3f2aa307c4
Exists in
master
and in
7 other branches
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@chello.nl> Cc: Nikos Chantziaras <realnc@arcor.de> Cc: Jens Axboe <jens.axboe@oracle.com> Cc: Mike Galbraith <efault@gmx.de> LKML-Reference: <4AA93D34.8040500@arcor.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Showing 1 changed file with 1 additions and 2 deletions Side-by-side Diff
kernel/sched_fair.c
... | ... | @@ -545,14 +545,13 @@ |
545 | 545 | schedstat_set(se->wait_count, se->wait_count + 1); |
546 | 546 | schedstat_set(se->wait_sum, se->wait_sum + |
547 | 547 | rq_of(cfs_rq)->clock - se->wait_start); |
548 | - schedstat_set(se->wait_start, 0); | |
549 | - | |
550 | 548 | #ifdef CONFIG_SCHEDSTATS |
551 | 549 | if (entity_is_task(se)) { |
552 | 550 | trace_sched_stat_wait(task_of(se), |
553 | 551 | rq_of(cfs_rq)->clock - se->wait_start); |
554 | 552 | } |
555 | 553 | #endif |
554 | + schedstat_set(se->wait_start, 0); | |
556 | 555 | } |
557 | 556 | |
558 | 557 | static inline void |