Chase Douglas
e330b3bcd8
tracing: Show sample std dev in function profiling
...
When combined with function graph tracing the ftrace function profiler
also prints the average run time of functions. While this gives us some
good information, it doesn't tell us anything about the variance of the
run times of the function. This change prints out the s^2 sample
standard deviation alongside the average.
This change adds one entry to the profile record structure. This
increases the memory footprint of the function profiler by 1/3 on a
32-bit system, and by 1/5 on a 64-bit system when function graphing is
enabled, though the memory is only allocated when the profiler is turned
on. During the profiling, one extra line of code adds the squared
calltime to the new record entry, so this should not adversly affect
performance.
Note that the square of the sample standard deviation is printed because
there is no sqrt implementation for unsigned long long in the kernel.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
LKML-Reference: <1272304925-2436-1-git-send-email-chase.douglas@canonical.com>
[ fixed comment about ns^2 -> us^2 conversion ]
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-04-27 18:23:15 -04:00
..
blktrace.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
ftrace.c
tracing: Show sample std dev in function profiling
2010-04-27 18:23:15 -04:00
Kconfig
Merge branch 'tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core
2010-02-27 10:06:10 +01:00
kmemtrace.c
kmemtrace: Fix up tracer registration
2009-10-01 11:53:44 +02:00
Makefile
perf: Drop the obsolete profile naming for trace events
2010-03-10 14:47:18 +01:00
power-traces.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
ring_buffer.c
ring-buffer: Make non-consuming read less expensive with lots of cpus.
2010-04-27 13:06:35 -04:00
ring_buffer_benchmark.c
ring-buffer: Make benchmark handle missed events
2010-04-27 13:26:58 -04:00
trace.c
ring-buffer: Make non-consuming read less expensive with lots of cpus.
2010-04-27 13:06:35 -04:00
trace.h
tracing: Add graph output support for irqsoff tracer
2010-04-27 12:36:53 -04:00
trace_boot.c
tracing: add filter event logic to special, mmiotrace and boot tracers
2009-09-12 23:34:04 -04:00
trace_branch.c
tracing: Add correct/incorrect to sort keys for branch annotation output
2010-02-09 21:35:05 -05:00
trace_clock.c
tracing: Fix lockdep warning in global_clock()
2010-03-29 15:16:44 -04:00
trace_entries.h
hw-breakpoints: Rewrite the hw-breakpoints layer on top of perf events
2009-11-08 15:34:42 +01:00
trace_event_perf.c
perf: Correctly align perf event tracing buffer
2010-04-01 08:26:30 +02:00
trace_events.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
trace_events_filter.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
trace_export.c
tracing: Remove show_format and related macros from TRACE_EVENT
2010-01-06 12:08:46 -05:00
trace_functions.c
tracing: switch function prints from %pf to %ps
2009-09-17 15:53:40 -04:00
trace_functions_graph.c
tracing: Add graph output support for irqsoff tracer
2010-04-27 12:36:53 -04:00
trace_hw_branches.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
2009-12-14 09:58:24 -08:00
trace_irqsoff.c
tracing: Add graph output support for irqsoff tracer
2010-04-27 12:36:53 -04:00
trace_kprobe.c
perf: Drop the obsolete profile naming for trace events
2010-03-10 14:47:18 +01:00
trace_ksym.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
trace_mmiotrace.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
trace_nop.c
trace_output.c
tracing: Add full state to trace_seq
2009-12-09 14:05:49 -05:00
trace_output.h
tracing: consolidate code between trace_output.c and trace_function_graph.c
2009-09-11 14:24:13 -04:00
trace_printk.c
tracing: Remove markers
2009-09-18 21:22:08 +02:00
trace_sched_switch.c
tracing: pass around ring buffer instead of tracer
2009-09-04 18:59:39 -04:00
trace_sched_wakeup.c
locking: Convert __raw_spin* functions to arch_spin*
2009-12-14 23:55:32 +01:00
trace_selftest.c
tracing: Dump either the oops's cpu source or all cpus buffers
2010-04-21 23:11:42 +02:00
trace_selftest_dynamic.c
trace_stack.c
tracing: Fix circular dead lock in stack trace
2010-02-02 10:20:18 -05:00
trace_stat.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
trace_stat.h
trace_syscalls.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
trace_sysprof.c
perf events, x86/stacktrace: Make stack walking optional
2009-12-17 09:56:19 +01:00
trace_workqueue.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00