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
..
bpf
bpf: fix states equal logic for varlen access
2016-11-30 14:50:52 -05:00
configs
Merge remote-tracking branch 'origin/tmp-dcb6110' into 4.8
2017-02-17 16:14:38 -08:00
debug
This is the 4.9.6 stable release
2017-01-31 13:55:27 -08:00
events
Merge remote-tracking branch '4.9/tmp-0455ac9' into 4.9
2017-03-06 15:50:56 -08:00
gcov
gcov: add support for gcc version >= 6
2016-07-15 14:54:27 +09:00
irq
Merge remote-tracking branch 'origin/tmp-dcb6110' into 4.8
2017-02-17 16:14:38 -08:00
livepatch
livepatch/module: make TAINT_LIVEPATCH module-specific
2016-08-26 14:42:08 +02:00
locking
Merge remote-tracking branch 'origin/tmp-69973b8' into msm-4.8
2016-12-12 10:21:46 -08:00
power
Merge remote-tracking branch 'origin/tmp-dcb6110' into 4.8
2017-02-17 16:14:38 -08:00
printk
Merge branch 'upstream-linux-4.9.y' into android-4.9
2017-02-23 14:29:44 -08:00
rcu
kernel: rcu: Panic on RCU stall
2017-03-15 11:49:57 -07:00
sched
ANDROID: sched/walt: Fix missing locking in WALT port
2017-03-13 17:10:35 -07:00
time
timer: Fix incorrect parenthesis in timer
2017-03-13 17:11:21 -07:00
trace
trace: cpu_freq_switch: Add profiler for CPU frequency switch times
2017-03-20 12:16:04 -07:00
.gitignore
acct.c
async.c
audit.c
Merge branch 'stable-4.9' of git://git.infradead.org/users/pcmoore/audit
2016-10-04 14:21:41 -07:00
audit.h
Merge branch 'stable-4.8' of git://git.infradead.org/users/pcmoore/audit
2016-07-29 17:54:17 -07:00
audit_fsnotify.c
audit_tree.c
audit: cleanup prune_tree_thread
2016-04-04 09:46:47 -04:00
audit_watch.c
Merge branch 'stable-4.8' of git://git.infradead.org/users/pcmoore/audit
2016-09-01 15:55:56 -07:00
auditfilter.c
audit: add fields to exclude filter by reusing user filter
2016-06-27 11:01:00 -04:00
auditsc.c
Merge branch 'stable-4.9' of git://git.infradead.org/users/pcmoore/audit
2016-10-04 14:21:41 -07:00
backtracetest.c
bounds.c
capability.c
ptrace: Capture the ptracer's creds not PT_PTRACE_CAP
2017-01-06 10:40:13 +01:00
cgroup.c
Merge remote-tracking branch 'origin/tmp-dcb6110' into 4.8
2017-02-17 16:14:38 -08:00
cgroup_freezer.c
cgroup_pids.c
cgroup: Use lld instead of ld when printing pids controller events_limit
2016-06-21 15:03:36 -04:00
compat.c
configs.c
context_tracking.c
cpu.c
Merge remote-tracking branch 'origin/tmp-dcb6110' into 4.8
2017-02-17 16:14:38 -08:00
cpu_pm.c
lpm-levels: Do not disable non-sec interrupts in suspend
2017-02-23 10:43:32 -07:00
cpuset.c
ANDROID: cpuset: Make cpusets restore on hotplug
2017-01-27 13:55:27 -08:00
crash_dump.c
cred.c
cred: Reject inodes with invalid ids in set_create_file_as()
2016-06-30 18:05:09 -05:00
delayacct.c
dma.c
elfcore.c
exec_domain.c
exit.c
ANDROID: FIXUP: sched/tune: fix accounting for runnable tasks
2017-01-31 10:46:56 -08:00
extable.c
fork.c
Merge remote-tracking branch 'origin/tmp-dcb6110' into 4.8
2017-02-17 16:14:38 -08:00
freezer.c
freezer, oom: check TIF_MEMDIE on the correct task
2016-07-28 16:07:41 -07:00
futex.c
futex: Move futex_init() to core_initcall
2017-02-23 17:44:36 +01:00
futex_compat.c
groups.c
cred: simpler, 1D supplementary groups
2016-10-07 18:46:30 -07:00
hung_task.c
hung_task: allow hung_task_panic when hung_task_warnings is 0
2016-10-11 15:06:33 -07:00
irq_work.c
jump_label.c
jump_labels: API for flushing deferred jump label updates
2017-01-19 20:17:59 +01:00
kallsyms.c
kallsyms: add support for relative offsets in kallsyms address table
2016-03-15 16:55:16 -07:00
kcmp.c
Kconfig.freezer
Kconfig.hz
Kconfig.locks
Kconfig.preempt
kcov.c
kcov: add missing #include <linux/sched.h>
2016-12-07 17:10:00 -08:00
kexec.c
kexec: allow architectures to override boot mapping
2016-08-02 19:35:27 -04:00
kexec_core.c
kexec: add restriction on kexec_load() segment sizes
2016-08-02 19:35:31 -04:00
kexec_file.c
kexec: fix double-free when failing to relocate the purgatory
2016-09-01 17:52:01 -07:00
kexec_internal.h
kmod.c
kprobes.c
kprobes: include <asm/sections.h> instead of <asm-generic/sections.h>
2016-10-11 15:06:31 -07:00
ksysfs.c
kexec: add a kexec_crash_loaded() function
2016-08-02 19:35:30 -04:00
kthread.c
kthread: better support freezable kthread workers
2016-10-11 15:06:33 -07:00
latencytop.c
Makefile
userns: Add per user namespace sysctls.
2016-08-08 13:18:58 -05:00
membarrier.c
Fix: Disable sys_membarrier when nohz_full is enabled
2017-03-12 06:41:45 +01:00
memremap.c
mm, devm_memremap_pages: hold device_hotplug lock over mem_hotplug_{begin, done}
2017-03-12 06:41:43 +01:00
module-internal.h
module.c
Re-enable CONFIG_MODVERSIONS in a slightly weaker form
2016-11-29 16:01:30 -08:00
module_signing.c
KEYS: Move the point of trust determination to __key_link()
2016-04-11 22:43:43 +01:00
notifier.c
nsproxy.c
padata.c
padata: Convert to hotplug state machine
2016-09-19 21:44:30 +02:00
panic.c
x86/panic: replace smp_send_stop() with kdump friendly version in panic path
2016-10-11 15:06:32 -07:00
params.c
pid.c
Use after free from pid_nr_ns()
2017-02-15 17:40:08 -08:00
pid_namespace.c
pid: fix lockdep deadlock warning due to ucount_lock
2017-01-19 20:18:03 +01:00
profile.c
profile: Convert to hotplug state machine
2016-07-15 10:41:42 +02:00
ptrace.c
ptrace: Don't allow accessing an undumpable mm
2017-01-06 10:40:13 +01:00
range.c
reboot.c
relay.c
relay: check array offset before using it
2017-01-12 11:39:30 +01:00
resource.c
/proc/iomem: only expose physical resource addresses to privileged users
2016-04-14 12:56:09 -07:00
seccomp.c
seccomp: Fix tracer exit notifications during fatal signals
2016-08-30 16:12:46 -07:00
signal.c
sigaltstack: support SS_AUTODISARM for CONFIG_COMPAT
2017-03-12 06:41:44 +01:00
smp.c
smp: Do not wake up all idle CPUs
2017-02-07 14:50:30 -08:00
smpboot.c
sched: Add per CPU load tracking for each task
2017-02-07 14:50:51 -08:00
smpboot.h
cpu/hotplug: Create hotplug threads
2016-03-01 20:36:56 +01:00
softirq.c
softirq: Display IRQ_POLL for irq-poll statistics
2016-10-21 15:45:47 -06:00
stacktrace.c
stacktrace, lockdep: Fix address, newline ugliness
2017-02-14 15:25:42 -08:00
stop_machine.c
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-10-03 13:39:00 -07:00
sys.c
ANDROID: mm: add a field to store names for private anonymous memory
2017-01-27 13:52:21 -08:00
sys_ni.c
x86/pkeys: Fix pkeys build breakage for some non-x86 arches
2016-09-13 14:41:36 +02:00
sysctl.c
Merge remote-tracking branch 'origin/tmp-dcb6110' into 4.8
2017-02-17 16:14:38 -08:00
sysctl_binary.c
sysctl: add cold_boot sysctl entry
2017-01-11 13:57:41 -08:00
task_work.c
task_work: use READ_ONCE/lockless_dereference, avoid pi_lock if !task_works
2016-08-02 19:35:02 -04:00
taskstats.c
taskstats: fix the length of cgroupstats_cmd_get_policy
2016-11-03 16:55:58 -04:00
test_kprobes.c
torture.c
torture: Convert torture_shutdown() to hrtimer
2016-08-22 10:01:49 -07:00
tracepoint.c
kernel/...: convert pr_warning to pr_warn
2016-03-22 15:36:02 -07:00
tsacct.c
time, acct: Drop irq save & restore from __acct_update_integrals()
2016-02-29 09:53:09 +01:00
ucount.c
userns: Make ucounts lock irq-safe
2017-02-01 08:33:05 +01:00
uid16.c
cred: simpler, 1D supplementary groups
2016-10-07 18:46:30 -07:00
up.c
smp: Add function to execute a function synchronously on a CPU
2016-09-05 13:52:39 +02:00
user-return-notifier.c
user.c
user_namespace.c
Merge branch 'nsfs-ioctls' into HEAD
2016-09-22 20:00:36 -05:00
utsname.c
Merge branch 'nsfs-ioctls' into HEAD
2016-09-22 20:00:36 -05:00
utsname_sysctl.c
watchdog.c
watchdog: Induce non secure watchdog bite for lockup
2017-03-08 11:16:41 -08:00
workqueue.c
workqueue: fix possible livelock with concurrent mod_delayed_work()
2017-02-21 10:32:46 -08:00
workqueue_internal.h
sched/core: Get rid of 'cpu' argument in wq_worker_sleeping()
2016-03-02 10:28:47 -05:00