linux/include/trace/events
Dave Martin 1bfbddb6f3 ARM: bL_switcher: Basic trace events support
This patch adds simple trace events to the b.L switcher code
to allow tracing of CPU migration events.

To make use of the trace events, you will need:

CONFIG_FTRACE=y
CONFIG_ENABLE_DEFAULT_TRACERS=y

The following events are added:
  * power:cpu_migrate_begin
  * power:cpu_migrate_finish

each with the following data:
    u64     timestamp;
    u32     cpu_hwid;

power:cpu_migrate_begin occurs immediately before the
switcher-specific migration operations start.
power:cpu_migrate_finish occurs immediately when migration is
completed.

The cpu_hwid field contains the ID fields of the MPIDR.

* For power:cpu_migrate_begin, cpu_hwid is the ID of the outbound
  physical CPU (equivalent to (from_phys_cpu,from_phys_cluster)).

* For power:cpu_migrate_finish, cpu_hwid is the ID of the inbound
  physical CPU (equivalent to (to_phys_cpu,to_phys_cluster)).

By design, the cpu_hwid field is masked in the same way as the
device tree cpu node reg property, allowing direct correlation to
the DT description of the hardware.

The timestamp is added in order to minimise timing noise.  An
accurate system-wide clock should be used for generating this
(hopefully getnstimeofday is appropriate, but it could be changed).
It could be any monotonic shared clock, since the aim is to allow
accurate deltas to be computed.  We don't necessarily care about
accurate synchronisation with wall clock time.

In practice, each switch takes place on a single logical CPU,
and the trace infrastructure should guarantee that events are
well-ordered with respect to a single logical CPU.

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Nicolas Pitre <nico@linaro.org>
2013-09-23 18:47:29 -04:00
..
9p.h 9p: trace: use %*ph to dump buffer 2013-05-28 13:42:08 -05:00
asoc.h ASoC: dapm: Fix x86_64 build warning. 2012-04-23 13:15:35 +01:00
bcache.h bcache: Rip out pkey()/pbtree() 2013-06-26 17:09:15 -07:00
block.h Merge branch 'for-3.10/core' of git://git.kernel.dk/linux-block 2013-05-08 10:13:35 -07:00
btrfs.h Btrfs/tracepoint: update delayed ref tracepoints 2013-09-01 07:57:39 -04:00
compaction.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
context_tracking.h context_tracking: User/kernel broundary cross trace events 2013-08-14 17:14:48 +02:00
ext3.h jbd: change journal_invalidatepage() to accept length 2013-05-21 23:26:36 -04:00
ext4.h ext4: isolate ext4_extents.h file 2013-08-28 14:47:06 -04:00
f2fs.h f2fs: add a tracepoint on f2fs_new_inode 2013-04-29 10:52:01 +09:00
filemap.h mm: trace filemap add and del 2013-04-29 15:54:28 -07:00
gfpflags.h mm: add a __GFP_KMEMCG flag 2012-12-18 15:02:12 -08:00
gpio.h gpio: add trace events for setting direction and value 2011-05-20 00:40:19 -06:00
host1x.h gpu: host1x: Add channel support 2013-04-22 12:32:43 +02:00
irq.h rcu: Use softirq to address performance regression 2011-06-14 15:25:39 -07:00
jbd.h jbd: Write journal superblock with WRITE_FUA after checkpointing 2012-05-15 23:34:37 +02:00
jbd2.h jbd2: trace when lock_buffer in do_get_write_access takes a long time 2013-04-21 16:47:54 -04:00
kmem.h mm/page_alloc.c: fix the value of fallback_migratetype in alloc_extfrag tracepoint() 2013-09-11 15:57:19 -07:00
kvm.h KVM: Extract generic irqchip logic into irqchip.c 2013-04-26 20:27:17 +02:00
lock.h
mce.h tracing: Fix event alignment: mce:mce_record 2011-03-10 10:34:28 -05:00
migrate.h mm: migrate: Add a tracepoint for migrate_pages 2012-12-11 14:28:35 +00:00
module.h include: replace linux/module.h with "struct module" wherever possible 2011-10-31 19:32:32 -04:00
napi.h napi: Convert trace_napi_poll to TRACE_EVENT 2010-09-07 17:51:01 +02:00
net.h net: tracepoint of net_dev_xmit sees freed skb and causes panic 2011-06-02 14:06:31 -07:00
nmi.h x86: Add NMI duration tracepoints 2013-06-23 11:52:58 +02:00
oom.h mm, oom: change type of oom_score_adj to short 2012-12-11 17:22:27 -08:00
pagemap.h mm: add tracepoints for LRU activation and insertions 2013-07-03 16:07:31 -07:00
power.h PM / Sleep: new trace event to print device suspend and resume times 2013-07-27 03:18:35 +02:00
power_cpu_migrate.h ARM: bL_switcher: Basic trace events support 2013-09-23 18:47:29 -04:00
printk.h printk/tracing: rework console tracing 2013-04-29 18:28:13 -07:00
random.h random: add tracepoints for easier debugging and verification 2012-07-14 20:17:48 -04:00
ras.h aerdrv: Trace Event for PCI Express Advanced Error Reporting 2013-01-03 14:31:44 -08:00
rcu.h rcu: Add const annotation to char * for RCU tracepoints and functions 2013-07-29 17:07:49 -04:00
regmap.h regmap: Add support for discarding parts of the register cache 2013-05-12 18:46:47 +04:00
regulator.h regulator: Add basic trace facilities 2011-01-12 14:33:00 +00:00
rpm.h device.h: audit and cleanup users in main include dir 2012-03-16 10:38:24 -04:00
sched.h tracing/perf: Reimplement TP_perf_assign() logic 2013-08-13 21:05:57 -04:00
scsi.h [SCSI] Include protection operation in SCSI command trace 2011-03-14 18:36:02 -05:00
signal.h tracing: let trace_signal_generate() report more info, kill overflow_fail/lose_info 2012-01-13 18:48:50 +01:00
skb.h tracing: Fix event alignment: skb:kfree_skb 2011-03-10 10:34:31 -05:00
sock.h core: add tracepoints for queueing skb to rcvbuf 2011-06-21 16:06:10 -07:00
sunrpc.h SUNRPC: Replace pointer values with task->tk_pid and rpc_clnt->cl_clid 2013-09-05 10:13:16 -04:00
syscalls.h tracing: Allow raw syscall trace events for non privileged users 2010-11-18 14:37:43 +01:00
target.h target: Add tracepoints for SCSI commands being processed 2013-07-07 18:36:44 -07:00
task.h mm, oom: change type of oom_score_adj to short 2012-12-11 17:22:27 -08:00
timer.h Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-05-05 13:23:27 -07:00
udp.h udp: add tracepoints for queueing skb to rcvbuf 2011-06-21 16:06:10 -07:00
vmscan.h shrinker: Kill old ->shrink API. 2013-09-10 18:56:32 -04:00
workqueue.h workqueue: rename cpu_workqueue to pool_workqueue 2013-02-13 19:29:12 -08:00
writeback.h writeback: replace custom worker pool implementation with unbound workqueue 2013-04-01 19:08:06 -07:00
xen.h xen/mmu: Use Xen specific TLB flush instead of the generic one. 2012-10-31 12:38:31 -04:00