linux/kernel/trace
Steven Rostedt 8aef2d2856 function-graph: ignore times across schedule
Impact: more accurate timings

The current method of function graph tracing does not take into
account the time spent when a task is not running. This shows functions
that call schedule have increased costs:

 3) + 18.664 us   |      }
 ------------------------------------------
 3)    <idle>-0    =>  kblockd-123
 ------------------------------------------

 3)               |      finish_task_switch() {
 3)   1.441 us    |        _spin_unlock_irq();
 3)   3.966 us    |      }
 3) ! 2959.433 us |    }
 3) ! 2961.465 us |  }

This patch uses the tracepoint in the scheduling context switch to
account for time that has elapsed while a task is scheduled out.
Now we see:

 ------------------------------------------
 3)    <idle>-0    =>  edac-po-1067
 ------------------------------------------

 3)               |      finish_task_switch() {
 3)   0.685 us    |        _spin_unlock_irq();
 3)   2.331 us    |      }
 3) + 41.439 us   |    }
 3) + 42.663 us   |  }

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
2009-03-24 09:33:30 -04:00
..
blktrace.c
events.c ftrace: event profile hooks 2009-03-20 10:17:07 +01:00
ftrace.c function-graph: ignore times across schedule 2009-03-24 09:33:30 -04:00
Kconfig tracing: Fix TRACING_SUPPORT dependency for PPC32 2009-03-23 23:23:03 +01:00
kmemtrace.c
Makefile ftrace: event profile hooks 2009-03-20 10:17:07 +01:00
ring_buffer.c tracing/ring-buffer: don't annotate rb_cpu_notify with __cpuinit 2009-03-21 10:54:10 +01:00
trace_boot.c
trace_branch.c
trace_clock.c tracing: fix four sparse warnings 2009-03-22 18:16:54 +01:00
trace_event_profile.c ftrace: event profile hooks 2009-03-20 10:17:07 +01:00
trace_event_types.h tracing: remove recording function depth from trace_printk 2009-03-19 15:58:47 -04:00
trace_events_stage_1.h
trace_events_stage_2.h
trace_events_stage_3.h ftrace: event profile hooks 2009-03-20 10:17:07 +01:00
trace_events.c ftrace: event profile hooks 2009-03-20 10:17:07 +01:00
trace_export.c
trace_functions_graph.c function-graph: moved the timestamp from arch to generic code 2009-03-24 09:31:34 -04:00
trace_functions.c
trace_hw_branches.c
trace_irqsoff.c
trace_mmiotrace.c tracing: remove recording function depth from trace_printk 2009-03-19 15:58:47 -04:00
trace_nop.c
trace_output.c ftrace: ensure every event gets an id 2009-03-20 10:17:06 +01:00
trace_output.h tracing: make print_(b)printk_msg_only global 2009-03-19 15:57:55 -04:00
trace_power.c
trace_printk.c tracing: remove recording function depth from trace_printk 2009-03-19 15:58:47 -04:00
trace_sched_switch.c
trace_sched_wakeup.c
trace_selftest_dynamic.c
trace_selftest.c tracing: keep the tracing buffer after self-test failure 2009-03-22 15:17:21 +01:00
trace_stack.c
trace_stat.c tracing: fix memory leak in trace_stat 2009-03-24 09:07:35 -04:00
trace_stat.h
trace_syscalls.c
trace_sysprof.c
trace_workqueue.c
trace.c tracing/ftrace: check if debugfs is registered before creating files 2009-03-23 16:25:47 +01:00
trace.h ftrace: event profile hooks 2009-03-20 10:17:07 +01:00