kernel_optimize_test/kernel/trace
Alexei Starovoitov a43eec3042 bpf: introduce bpf_perf_event_output() helper
This helper is used to send raw data from eBPF program into
special PERF_TYPE_SOFTWARE/PERF_COUNT_SW_BPF_OUTPUT perf_event.
User space needs to perf_event_open() it (either for one or all cpus) and
store FD into perf_event_array (similar to bpf_perf_event_read() helper)
before eBPF program can send data into it.

Today the programs triggered by kprobe collect the data and either store
it into the maps or print it via bpf_trace_printk() where latter is the debug
facility and not suitable to stream the data. This new helper replaces
such bpf_trace_printk() usage and allows programs to have dedicated
channel into user space for post-processing of the raw data collected.

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-10-22 06:42:15 -07:00
..
blktrace.c block: add a bi_error field to struct bio 2015-07-29 08:55:15 -06:00
bpf_trace.c bpf: introduce bpf_perf_event_output() helper 2015-10-22 06:42:15 -07:00
ftrace.c Mostly this is just clean ups and micro optimizations. 2015-09-08 14:04:14 -07:00
Kconfig tracing, perf: Implement BPF programs attached to uprobes 2015-08-06 15:29:14 -03:00
Makefile bpf: Fix the build on BPF_SYSCALL=y && !CONFIG_TRACING kernels, make it more configurable 2015-04-02 16:28:06 +02:00
power-traces.c
ring_buffer_benchmark.c This patch series contains several clean ups and even a new trace clock 2015-06-26 14:02:43 -07:00
ring_buffer.c ring-buffer: Revert "ring-buffer: Get timestamp after event is allocated" 2015-09-03 08:57:12 -04:00
rpm-traces.c
trace_benchmark.c
trace_benchmark.h
trace_branch.c tracing: Have branch tracer use recursive field of task struct 2015-07-08 11:53:45 -04:00
trace_clock.c tracing: Export tracing clock functions 2015-05-12 15:56:57 -04:00
trace_entries.h
trace_event_perf.c tracing: Rename ftrace_event_{call,class} to trace_event_{call,class} 2015-05-13 14:06:10 -04:00
trace_events_filter_test.h
trace_events_filter.c tracing: Allow triggers to filter for CPU ids and process names 2015-08-11 18:01:06 -04:00
trace_events_trigger.c tracing: Rename ftrace_raw_##call event structures to trace_event_raw_##call 2015-05-13 21:48:40 -04:00
trace_events.c tracing: Allow triggers to filter for CPU ids and process names 2015-08-11 18:01:06 -04:00
trace_export.c tracing: Rename ftrace_event_{call,class} to trace_event_{call,class} 2015-05-13 14:06:10 -04:00
trace_functions_graph.c ftrace: Fix function_graph duration spacing with 7-digits 2015-07-20 22:30:52 -04:00
trace_functions.c
trace_irqsoff.c
trace_kdb.c
trace_kprobe.c lib: introduce strncpy_from_unsafe() 2015-08-28 16:27:27 -07:00
trace_mmiotrace.c tracing: Rename ftrace_event_{call,class} to trace_event_{call,class} 2015-05-13 14:06:10 -04:00
trace_nop.c
trace_output.c tracing: Introduce two additional marks for delay 2015-07-20 22:30:52 -04:00
trace_output.h tracing: Rename (un)register_ftrace_event() to (un)register_trace_event() 2015-05-13 14:05:14 -04:00
trace_printk.c
trace_probe.c
trace_probe.h tracing: Rename ftrace_event_{call,class} to trace_event_{call,class} 2015-05-13 14:06:10 -04:00
trace_sched_switch.c sched: Introduce the 'trace_sched_waking' tracepoint 2015-08-03 12:21:22 +02:00
trace_sched_wakeup.c sched: Introduce the 'trace_sched_waking' tracepoint 2015-08-03 12:21:22 +02:00
trace_selftest_dynamic.c
trace_selftest.c
trace_seq.c
trace_stack.c tracing: Clean up stack tracing and fix fentry updates 2015-07-20 22:30:50 -04:00
trace_stat.c
trace_stat.h
trace_syscalls.c tracing: Rename ftrace_trigger_soft_disabled() to trace_trigger_soft_disabled() 2015-05-13 15:25:39 -04:00
trace_uprobe.c tracing/uprobes: Do not print '0x (null)' when offset is 0 2015-08-26 10:43:01 -03:00
trace.c ftrace: correct the counter increment for trace_buffer data 2015-07-20 22:30:45 -04:00
trace.h tracing: Have branch tracer use recursive field of task struct 2015-07-08 11:53:45 -04:00