mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 11:33:28 +02:00
Impact: allow user apps to read binary format of basic ftrace entries
Currently, only defined raw events export their formats so a binary
reader can parse them. There's no reason that the default ftrace entries
can't export their formats.
This patch adds a subsystem called "ftrace" in the events directory
that includes the ftrace entries for basic ftrace recorded items.
These only have three files in the events directory:
type : printf
available_types : printf
format : format for the event entry
For example:
# cat /debug/tracing/events/ftrace/wakeup/format
name: wakeup
ID: 3
format:
field:unsigned char type; offset:0; size:1;
field:unsigned char flags; offset:1; size:1;
field:unsigned char preempt_count; offset:2; size:1;
field:int pid; offset:4; size:4;
field:int tgid; offset:8; size:4;
field:unsigned int prev_pid; offset:12; size:4;
field:unsigned char prev_prio; offset:16; size:1;
field:unsigned char prev_state; offset:17; size:1;
field:unsigned int next_pid; offset:20; size:4;
field:unsigned char next_prio; offset:24; size:1;
field:unsigned char next_state; offset:25; size:1;
field:unsigned int next_cpu; offset:28; size:4;
print fmt: "%u:%u:%u ==+ %u:%u:%u [%03u]"
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
|
||
|---|---|---|
| .. | ||
| blktrace.c | ||
| events.c | ||
| ftrace.c | ||
| Kconfig | ||
| kmemtrace.c | ||
| Makefile | ||
| ring_buffer.c | ||
| trace_boot.c | ||
| trace_branch.c | ||
| trace_clock.c | ||
| trace_event_types.h | ||
| trace_events_stage_1.h | ||
| trace_events_stage_2.h | ||
| trace_events_stage_3.h | ||
| trace_events.c | ||
| trace_export.c | ||
| trace_format.h | ||
| trace_functions_graph.c | ||
| trace_functions.c | ||
| trace_hw_branches.c | ||
| trace_irqsoff.c | ||
| trace_mmiotrace.c | ||
| trace_nop.c | ||
| trace_output.c | ||
| trace_output.h | ||
| trace_power.c | ||
| trace_sched_switch.c | ||
| trace_sched_wakeup.c | ||
| trace_selftest_dynamic.c | ||
| trace_selftest.c | ||
| trace_stack.c | ||
| trace_stat.c | ||
| trace_stat.h | ||
| trace_sysprof.c | ||
| trace_workqueue.c | ||
| trace.c | ||
| trace.h | ||