Matt Wagantall
c481c78661
trace: cpu_freq_switch: Add profiler for CPU frequency switch times
...
It is sometimes useful to profile how long CPU frequency switches
take, and traces have already been added for this purpose. Make
use of these and the trace_stat framework to generate statistical
histograms of frequency switch times in the following format:
# cat /sys/kernel/debug/tracing/trace_stat/cpu_freq_switch
CPU START_KHZ END_KHZ COUNT AVG_US MIN_US MAX_US
| | | | | | |
0 384000 1512000 3 2787 1648 3418
0 486000 384000 1 1129 1129 1129
0 1458000 384000 1 3174 3174 3174
0 1512000 384000 1 3265 3265 3265
0 1512000 486000 1 3235 3235 3235
0 1512000 1458000 1 213 213 213
0 1512000 1512000 1 0 0 0
Profiling is disabled by default (since it does incur some
overhead). It can be enabled or re-disabled echoing 1 or 0
to /sys/kernel/debug/tracing/cpu_freq_switch_profile_enabled
Change-Id: I3ef7f9d681b7bd13bcaa031003b10312afe1aefe
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2017-03-20 12:16:04 -07:00
..
blktrace.c
block: Fix secure erase
2016-08-16 09:16:51 -06:00
bpf_trace.c
bpf: add BPF_CALL_x macros for declaring helpers
2016-09-09 19:36:04 -07:00
ftrace.c
ftrace: Add more checks for FTRACE_FL_DISABLED in processing ip records
2016-11-14 16:31:49 -05:00
gpu-traces.c
ANDROID: trace/events: add gpu trace events
2017-01-27 13:51:39 -08:00
ipc_logging.c
trace: Add snapshot of ipc_logging driver
2016-11-10 10:49:25 -08:00
ipc_logging_debug.c
trace: Add snapshot of ipc_logging driver
2016-11-10 10:49:25 -08:00
ipc_logging_private.h
trace: Add snapshot of ipc_logging driver
2016-11-10 10:49:25 -08:00
Kconfig
trace: cpu_freq_switch: Add profiler for CPU frequency switch times
2017-03-20 12:16:04 -07:00
Makefile
trace: cpu_freq_switch: Add profiler for CPU frequency switch times
2017-03-20 12:16:04 -07:00
msm_rtb.c
trace: rtb: add msm_rtb register tracing feature snapshot
2016-08-19 13:31:03 -07:00
power-traces.c
cpufreq: schedutil: New governor based on scheduler utilization data
2016-04-02 01:09:12 +02:00
ring_buffer.c
ring-buffer: Prevent overflow of size in ring_buffer_resize()
2016-05-13 16:44:20 -04:00
ring_buffer_benchmark.c
ring_buffer: Remove unneeded smp_wmb() before wakeup of reader benchmark
2015-11-03 16:19:02 -05:00
rpm-traces.c
trace.c
Merge remote-tracking branch '4.9/tmp-47c0adf' into 4.9
2017-03-15 13:38:21 -07:00
trace.h
ANDROID: trace: Add an option to show tgids in trace output
2017-01-27 13:51:40 -08:00
trace_benchmark.c
tracing: Only benchmark the time tracepoints take if tracing is on
2015-11-02 13:34:58 -05:00
trace_benchmark.h
trace_branch.c
tracing: Remove {start,stop}_branch_trace
2015-10-21 10:10:09 -04:00
trace_clock.c
tracing: Export tracing clock functions
2015-05-12 15:56:57 -04:00
trace_cpu_freq_switch.c
trace: cpu_freq_switch: Add profiler for CPU frequency switch times
2017-03-20 12:16:04 -07:00
trace_entries.h
tracing: Add NMI tracing in hwlat detector
2016-09-02 12:47:55 -04:00
trace_event_perf.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2016-05-17 16:26:30 -07:00
trace_events.c
coresight: enable stm logging for trace events, marker and printk
2016-10-03 17:35:08 -07:00
trace_events_filter.c
tracing: Use temp buffer when filtering events
2016-05-03 17:59:24 -04:00
trace_events_filter_test.h
trace_events_hist.c
tracing: Fix use-after-free in hist_register_trigger()
2016-08-02 15:16:30 -04:00
trace_events_trigger.c
tracing: Call traceoff trigger after event is recorded
2016-09-23 09:47:59 -04:00
trace_export.c
tracing: ftrace_event_is_function() can return boolean
2015-11-02 14:28:05 -05:00
trace_functions.c
ftrace: Have set_ftrace_pid use the bitmap like events do
2016-06-20 09:54:19 -04:00
trace_functions_graph.c
This is the 4.9.6 stable release
2017-01-31 13:55:27 -08:00
trace_hwlat.c
tracing: Fix hwlat kthread migration
2017-02-09 08:08:28 +01:00
trace_irqsoff.c
tracing: Remove redundant reset per-CPU buff in irqsoff tracer
2016-03-18 16:39:11 -04:00
trace_kdb.c
tracing: Move trace_flags from global to a trace_array field
2015-09-30 15:22:55 -04:00
trace_kprobe.c
ftrace: kprobe: uprobe: Add x8/x16/x32/x64 for hexadecimal types
2016-08-23 15:38:09 -03:00
trace_mmiotrace.c
tracing: Expose CPU physical addresses (resource values) for PCI devices
2016-06-20 09:54:22 -04:00
trace_nop.c
tracing: Fix typoes in code comment and printk in trace_nop.c
2016-03-08 11:23:57 -05:00
trace_output.c
ANDROID: trace: fix compilation for 4.1
2017-01-27 13:51:42 -08:00
trace_output.h
tracing: Turn seq_print_user_ip() into a static function
2015-09-28 10:16:12 -04:00
trace_printk.c
tracing: Handle NULL formats in hold_module_trace_bprintk_format()
2016-06-20 09:46:12 -04:00
trace_probe.c
ftrace: kprobe: uprobe: Show u8/u16/u32/u64 types in decimal
2016-08-23 17:06:38 -03:00
trace_probe.h
ftrace: kprobe: uprobe: Show u8/u16/u32/u64 types in decimal
2016-08-23 17:06:38 -03:00
trace_sched_switch.c
sched/core: Fix trace_sched_switch()
2015-10-06 17:08:15 +02:00
trace_sched_wakeup.c
Most of the changes are clean ups and small fixes. Some of them have
2015-11-06 13:30:20 -08:00
trace_selftest.c
Seems that Peter Zijlstra added a new check that is making old
2014-10-12 07:28:55 -04:00
trace_selftest_dynamic.c
trace_seq.c
tracing: use %*pb[l] to print bitmaps including cpumasks and nodemasks
2015-02-13 21:21:37 -08:00
trace_stack.c
tracing, kasan: Silence Kasan warning in check_stack of stack_tracer
2016-02-19 12:36:44 -05:00
trace_stat.c
kernel/...: convert pr_warning to pr_warn
2016-03-22 15:36:02 -07:00
trace_stat.h
trace_syscalls.c
Merge remote-tracking branch '4.4/tmp-730d8a5' into 4.8
2016-10-31 15:09:53 -07:00
trace_uprobe.c
Merge remote-tracking branch '4.4/tmp-730d8a5' into 4.8
2016-10-31 15:09:53 -07:00
tracing_map.c
tracing: Handle tracing_map_alloc_elts() error path correctly
2016-04-26 09:40:30 -04:00
tracing_map.h
tracing: Update some tracing_map constants and comments
2016-04-19 12:16:06 -04:00