]> git.baikalelectronics.ru Git - kernel.git/commit
sched/events: Revert trace_sched_stat_sleeptime()
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Mon, 30 Jan 2012 13:51:37 +0000 (14:51 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 22 Feb 2012 11:06:55 +0000 (12:06 +0100)
commit15fdc4b56b03a1f88dde0235ae2514ad094a01a4
tree8123849709e37dc2394373ad40cf333b2f19ebb5
parent08b1fdfc557235b3a7d07ff03c2daae69530b665
sched/events: Revert trace_sched_stat_sleeptime()

Commit 2d83804f ("sched/tracing: Add a new tracepoint for sleeptime")
added a new sched:sched_stat_sleeptime tracepoint.

It's broken: the first sample we get on a task might be bad because
of a stale sleep_start value that wasn't reset at the last task switch
because the tracepoint was not active.

It also breaks the existing schedstat samples due to the side
effects of:

-               se->statistics.sleep_start = 0;
...
-               se->statistics.block_start = 0;

Nor do I see means to fix it without adding overhead to the scheduler
fast path, which I'm not willing to for the sake of redundant
instrumentation.

Most importantly, sleep time information can already be constructed
by tracing context switches and wakeups, and taking the timestamp
difference between the schedule-out, the wakeup and the schedule-in.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Andrew Vagin <avagin@openvz.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Link: http://lkml.kernel.org/n/tip-pc4c9qhl8q6vg3bs4j6k0rbd@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/trace/events/sched.h
kernel/sched/core.c
kernel/sched/fair.c