| /linux/tools/perf/ |
| H A D | builtin-ftrace.c | 3 * builtin-ftrace.c 39 #include "util/ftrace.h" 79 pr_err("ftrace only works for users with the CAP_PERFMON or CAP_SYS_ADMIN capability!\n"); in check_ftrace_capable() 290 static void reset_tracing_options(struct perf_ftrace *ftrace __maybe_unused) in write_tracing_option_file() 307 static int reset_tracing_files(struct perf_ftrace *ftrace __maybe_unused) in reset_tracing_options() 328 reset_tracing_options(ftrace); in reset_tracing_files() 347 char dirname[] = "instances/perf-ftrace-XXXXXX"; 365 static int set_tracing_pid(struct perf_ftrace *ftrace) in init_tracing_instance() 370 if (target__has_cpu(&ftrace->target)) in init_tracing_instance() 373 for (i = 0; i < perf_thread_map__nr(evlist__core(ftrace in set_tracing_pid() 372 set_tracing_pid(struct perf_ftrace * ftrace) set_tracing_pid() argument 414 set_tracing_cpu(struct perf_ftrace * ftrace) set_tracing_cpu() argument 424 set_tracing_func_stack_trace(struct perf_ftrace * ftrace) set_tracing_func_stack_trace() argument 435 set_tracing_func_irqinfo(struct perf_ftrace * ftrace) set_tracing_func_irqinfo() argument 468 set_tracing_filters(struct perf_ftrace * ftrace) set_tracing_filters() argument 498 set_tracing_depth(struct perf_ftrace * ftrace) set_tracing_depth() argument 514 set_tracing_percpu_buffer_size(struct perf_ftrace * ftrace) set_tracing_percpu_buffer_size() argument 529 set_tracing_trace_inherit(struct perf_ftrace * ftrace) set_tracing_trace_inherit() argument 540 set_tracing_sleep_time(struct perf_ftrace * ftrace) set_tracing_sleep_time() argument 551 set_tracing_funcgraph_args(struct perf_ftrace * ftrace) set_tracing_funcgraph_args() argument 561 set_tracing_funcgraph_retval(struct perf_ftrace * ftrace) set_tracing_funcgraph_retval() argument 576 set_tracing_funcgraph_retaddr(struct perf_ftrace * ftrace) set_tracing_funcgraph_retaddr() argument 586 set_tracing_funcgraph_irqs(struct perf_ftrace * ftrace) set_tracing_funcgraph_irqs() argument 597 set_tracing_funcgraph_verbose(struct perf_ftrace * ftrace) set_tracing_funcgraph_verbose() argument 614 set_tracing_funcgraph_tail(struct perf_ftrace * ftrace) set_tracing_funcgraph_tail() argument 625 set_tracing_thresh(struct perf_ftrace * ftrace) set_tracing_thresh() argument 639 set_tracing_options(struct perf_ftrace * ftrace) set_tracing_options() argument 724 select_tracer(struct perf_ftrace * ftrace) select_tracer() argument 741 __cmd_ftrace(struct perf_ftrace * ftrace) __cmd_ftrace() argument 854 make_histogram(struct perf_ftrace * ftrace,int buckets[],char * buf,size_t len,char * linebuf) make_histogram() argument 943 display_histogram(struct perf_ftrace * ftrace,int buckets[]) display_histogram() argument 1042 prepare_func_latency(struct perf_ftrace * ftrace) prepare_func_latency() argument 1087 start_func_latency(struct perf_ftrace * ftrace) start_func_latency() argument 1100 stop_func_latency(struct perf_ftrace * ftrace) stop_func_latency() argument 1109 read_func_latency(struct perf_ftrace * ftrace,int buckets[]) read_func_latency() argument 1117 cleanup_func_latency(struct perf_ftrace * ftrace) cleanup_func_latency() argument 1126 __cmd_latency(struct perf_ftrace * ftrace) __cmd_latency() argument 1207 prepare_func_profile(struct perf_ftrace * ftrace) prepare_func_profile() argument 1229 add_func_duration(struct perf_ftrace * ftrace,char * func,double time_ns) add_func_duration() argument 1270 parse_func_duration(struct perf_ftrace * ftrace,char * line,size_t len) parse_func_duration() argument 1376 print_profile_result(struct perf_ftrace * ftrace) print_profile_result() argument 1423 __cmd_profile(struct perf_ftrace * ftrace) __cmd_profile() argument 1528 struct perf_ftrace *ftrace = cb; perf_ftrace_config() local 1674 struct perf_ftrace *ftrace = (struct perf_ftrace *) opt->value; parse_func_tracer_opts() local 1695 struct perf_ftrace *ftrace = (struct perf_ftrace *) opt->value; parse_graph_tracer_opts() local 1755 struct perf_ftrace ftrace = { cmd_ftrace() local [all...] |
| /linux/tools/testing/selftests/ftrace/test.d/direct/ |
| H A D | ftrace-direct.tc | 5 rmmod ftrace-direct ||: 6 if ! modprobe ftrace-direct ; then 16 rmmod ftrace-direct 23 modprobe ftrace-direct 24 rmmod ftrace-direct 29 modprobe ftrace-direct 31 rmmod ftrace-direct 34 modprobe ftrace-direct 37 rmmod ftrace-direct 40 modprobe ftrace-direct [all …]
|
| H A D | kprobe-direct.tc | 6 rmmod ftrace-direct ||: 7 if ! modprobe ftrace-direct ; then 17 rmmod ftrace-direct 23 modprobe ftrace-direct 29 rmmod ftrace-direct 74 modprobe ftrace-direct-too 78 rmmod ftrace-direct-too
|
| /linux/tools/perf/util/ |
| H A D | bpf_ftrace.c | 10 #include "util/ftrace.h" 22 int perf_ftrace__latency_prepare_bpf(struct perf_ftrace *ftrace) in perf_ftrace__latency_prepare_bpf() argument 28 if (!list_empty(&ftrace->filters)) { in perf_ftrace__latency_prepare_bpf() 29 if (!list_is_singular(&ftrace->filters)) { in perf_ftrace__latency_prepare_bpf() 33 func = list_first_entry(&ftrace->filters, struct filter_entry, list); in perf_ftrace__latency_prepare_bpf() 38 list_for_each(pos, &ftrace->event_pair) in perf_ftrace__latency_prepare_bpf() 53 skel->rodata->bucket_range = ftrace->bucket_range; in perf_ftrace__latency_prepare_bpf() 54 skel->rodata->min_latency = ftrace->min_latency; in perf_ftrace__latency_prepare_bpf() 55 skel->rodata->bucket_num = ftrace->bucket_num; in perf_ftrace__latency_prepare_bpf() 56 if (ftrace in perf_ftrace__latency_prepare_bpf() 168 perf_ftrace__latency_read_bpf(struct perf_ftrace * ftrace,int buckets[],struct stats * stats) perf_ftrace__latency_read_bpf() argument [all...] |
| H A D | ftrace.h | 53 int perf_ftrace__latency_prepare_bpf(struct perf_ftrace *ftrace); 54 int perf_ftrace__latency_start_bpf(struct perf_ftrace *ftrace); 55 int perf_ftrace__latency_stop_bpf(struct perf_ftrace *ftrace); 56 int perf_ftrace__latency_read_bpf(struct perf_ftrace *ftrace, 58 int perf_ftrace__latency_cleanup_bpf(struct perf_ftrace *ftrace); 63 perf_ftrace__latency_prepare_bpf(struct perf_ftrace *ftrace __maybe_unused) in perf_ftrace__latency_prepare_bpf() 69 perf_ftrace__latency_start_bpf(struct perf_ftrace *ftrace __maybe_unused) in perf_ftrace__latency_start_bpf() 75 perf_ftrace__latency_stop_bpf(struct perf_ftrace *ftrace __maybe_unused) in perf_ftrace__latency_stop_bpf() 81 perf_ftrace__latency_read_bpf(struct perf_ftrace *ftrace __maybe_unused, in perf_ftrace__latency_read_bpf() 89 perf_ftrace__latency_cleanup_bpf(struct perf_ftrace *ftrace __maybe_unused) in perf_ftrace__latency_cleanup_bpf()
|
| /linux/Documentation/trace/ |
| H A D | boottime-trace.rst | 13 device initialization with full features of ftrace including per-event 23 boot config file [1]_. All options are under "ftrace." or "kernel." 40 Dump ftrace on Oops. If MODE = 1 or omitted, dump trace buffer 59 These options can be used for each instance including global ftrace node. 61 ftrace.[instance.INSTANCE.]options = OPT1[, OPT2[...]] 62 Enable given ftrace options. 64 ftrace.[instance.INSTANCE.]tracing_on = 0|1 68 ftrace.[instance.INSTANCE.]trace_clock = CLOCK 69 Set given CLOCK to ftrace's trace_clock. 71 ftrace.[instance.INSTANCE.]buffer_size = SIZE [all …]
|
| H A D | fprobe.rst | 13 feature in ftrace. 23 The fprobe is a wrapper of ftrace (+ kretprobe-like return callback) to 46 The register_fprobe_ips() enables a fprobe by ftrace-location addresses. 80 Same as ftrace, the registered callbacks will start being called some time 82 Documentation/trace/ftrace.rst. 110 This is the ftrace address of the traced function (both entry and exit). 112 the address where the ftrace is instrumented. 143 Since the recursion safeness of the fprobe (and ftrace) is a bit different 178 which is traced by other ftrace users is called from the entry_handler. 189 counter may not work correctly, because ftrace skips the fprobe function which
|
| /linux/samples/ftrace/ |
| H A D | Makefile | 3 obj-$(CONFIG_SAMPLE_FTRACE_DIRECT) += ftrace-direct.o 4 obj-$(CONFIG_SAMPLE_FTRACE_DIRECT) += ftrace-direct-too.o 5 obj-$(CONFIG_SAMPLE_FTRACE_DIRECT) += ftrace-direct-modify.o 6 obj-$(CONFIG_SAMPLE_FTRACE_DIRECT_MULTI) += ftrace-direct-multi.o 7 obj-$(CONFIG_SAMPLE_FTRACE_DIRECT_MULTI) += ftrace-direct-multi-modify.o 8 obj-$(CONFIG_SAMPLE_FTRACE_OPS) += ftrace-ops.o
|
| /linux/tools/testing/ktest/examples/bootconfigs/ |
| H A D | boottrace.bconf | 1 ftrace.event { 33 ftrace.instance { 36 ftrace.filters = "user_*" 45 ftrace.filters = "kernel_*" 51 ftrace.alloc_snapshot 57 ftrace = function
|
| /linux/tools/perf/tests/shell/ |
| H A D | ftrace.sh | 2 # perf ftrace tests 7 # perf ftrace commands only works for root 9 echo "perf ftrace test [Skipped: no permission]" 13 output=$(mktemp /tmp/__perf_test.ftrace.XXXXXX) 31 echo "perf ftrace list test" 32 perf ftrace -F > "${output}" 37 echo "perf ftrace list test [Success]" 41 echo "perf ftrace trace test" 42 perf ftrace trace --graph-opts depth=5 sleep 0.1 > "${output}" 50 echo "perf ftrace trac [all...] |
| /linux/tools/perf/Documentation/ |
| H A D | perf-ftrace.txt | 1 perf-ftrace(1) 6 perf-ftrace - simple wrapper for kernel's ftrace functionality 12 'perf ftrace' {trace|latency|profile} <command> 16 The 'perf ftrace' command provides a collection of subcommands which use 17 kernel's ftrace infrastructure. 19 'perf ftrace trace' is a simple wrapper of the ftrace. It only supports 23 'perf ftrace latency' calculates execution latency of a given function 26 'perf ftrace profile' show a execution profile for each function including 29 The following options apply to perf ftrace. 60 OPTIONS for 'perf ftrace trace' [all …]
|
| /linux/tools/testing/selftests/ftrace/test.d/trigger/ |
| H A D | trigger-trace-marker-synthetic.tc | 15 echo 'hist:keys=common_pid:ts0=common_timestamp.usecs if buf == "start"' > events/ftrace/print/trig… 16 …tamp.usecs-$ts0:onmatch(ftrace.print).latency($lat) if buf == "end"' >> events/ftrace/print/trigger 21 cnt=`grep 'hitcount: *1$' events/ftrace/print/hist | wc -l`
|
| H A D | trigger-trace-marker-hist.tc | 14 echo 'hist:keys=common_pid' > events/ftrace/print/trigger 16 grep 'hitcount: *10$' events/ftrace/print/hist > /dev/null || \
|
| H A D | trigger-trace-marker-synthetic-kernel.tc | 16 …ommon_timestamp.usecs-$ts0:onmatch(sched.sched_waking).latency($lat)' > events/ftrace/print/trigger 21 grep 'hitcount: *1$' events/ftrace/print/hist > /dev/null || \
|
| /linux/samples/ |
| H A D | Makefile | 27 obj-$(CONFIG_SAMPLE_FTRACE_DIRECT) += ftrace/ 28 obj-$(CONFIG_SAMPLE_FTRACE_DIRECT_MULTI) += ftrace/ 29 obj-$(CONFIG_SAMPLE_FTRACE_OPS) += ftrace/ 30 obj-$(CONFIG_SAMPLE_TRACE_ARRAY) += ftrace/
|
| /linux/arch/sh/kernel/ |
| H A D | Makefile | 39 obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o 40 obj-$(CONFIG_FTRACE_SYSCALLS) += ftrace.o 41 obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o
|
| /linux/tools/testing/selftests/rcutorture/bin/ |
| H A D | parse-console.sh | 186 # don't create $file.ftrace. Otherwise output the results to $file.ftrace 187 extract_ftrace_from_console $file > $file.ftrace 188 if [ ! -s $file.ftrace ]; then 189 rm -f $file.ftrace
|
| /linux/arch/powerpc/tools/ |
| H A D | ftrace-gen-ool-stubs.sh | 35 .pushsection .tramp.ftrace.text,"aw" 45 .pushsection .tramp.ftrace.init,"aw"
|
| /linux/Documentation/arch/riscv/ |
| H A D | cmodx.rst | 16 Dynamic ftrace 19 Essentially, dynamic ftrace directs the control flow by inserting a function 25 RISC-V ftrace. Kernel preemption makes things even worse as it allows the old 28 In order to get rid of stop_machine() and run dynamic ftrace with full kernel 35 By fixing down the first instruction, AUIPC, the range of the ftrace trampoline
|
| /linux/tools/power/pm-graph/config/ |
| H A D | freeze.cfg | 25 # output folder for html, ftrace, and dmesg. Use {date} and {time} for current values 33 # add the dmesg and ftrace log to the html output (default: false) 76 # gather detailed ftrace callgraph data on all timeline events (default: false)
|
| H A D | standby.cfg | 25 # output folder for html, ftrace, and dmesg. Use {date} and {time} for current values 33 # add the dmesg and ftrace log to the html output (default: false) 76 # gather detailed ftrace callgraph data on all timeline events (default: false)
|
| /linux/tools/bootconfig/scripts/ |
| H A D | bconf2ftrace.sh | 66 . `dirname $0`/ftrace.sh 258 set_array_of ${instance}.ftrace.filters \ 260 set_array_of ${instance}.ftrace.notrace \
|
| /linux/Documentation/livepatch/ |
| H A D | livepatch.rst | 43 Most of these problems are solved by using the dynamic ftrace framework as 44 a base. A Kprobe is registered as a ftrace handler when the function entry 46 a live patch is called with the help of a custom ftrace handler. But there are 327 ftrace handler is registered\ [#]_. This stage is indicated by a value of '1' 336 Note that functions might be patched multiple times. The ftrace handler 339 The right implementation is selected by the ftrace handler, see 356 the ftrace handler is unregistered and the struct klp_ops is 378 patch are removed from the corresponding struct klp_ops. The ftrace handler 415 Livepatch is based on the dynamic ftrace. In particular, functions 416 implementing ftrace or the livepatch ftrace handler could not be [all …]
|
| /linux/tools/testing/selftests/net/tcp_ao/ |
| H A D | Makefile | 34 LIBSRC := ftrace.c ftrace-tcp.c kconfig.c netlink.c
|
| /linux/tools/testing/selftests/ftrace/ |
| H A D | README | 3 This is a collection of testcases for ftrace tracing feature in the Linux 4 kernel. Since ftrace exports interfaces via the debugfs, we just need 7 Running the ftrace testcases
|