mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-05 19:31:57 -04:00
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Enabling of large number of functions by echoing in a large subset of the functions in available_filter_functions can take a very long time. The process requires testing all functions registered by the function tracer (which is in the 10s of thousands), and doing a kallsyms lookup to convert the ip address into a name, then comparing that name with the string passed in. When a function causes the function tracer to crash the system, a binary bisect of the available_filter_functions can be done to find the culprit. But this requires passing in half of the functions in available_filter_functions over and over again, which makes it basically a O(n^2) operation. With 40,000 functions, that ends up bing 1,600,000,000 opertions! And enabling this can take over 20 minutes. As a quick speed up, if a number is passed into one of the filter files, instead of doing a search, it just enables the function at the corresponding line of the available_filter_functions file. That is: # echo 50 > set_ftrace_filter # cat set_ftrace_filter x86_pmu_commit_txn # head -50 available_filter_functions | tail -1 x86_pmu_commit_txn This allows setting of half the available_filter_functions to take place in less than a second! # time seq 20000 > set_ftrace_filter real 0m0.042s user 0m0.005s sys 0m0.015s # wc -l set_ftrace_filter 20000 set_ftrace_filter Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> |
||
| .. | ||
| postprocess | ||
| coresight-cpu-debug.txt | ||
| coresight.txt | ||
| events-kmem.rst | ||
| events-msr.rst | ||
| events-nmi.rst | ||
| events-power.rst | ||
| events.rst | ||
| ftrace-design.rst | ||
| ftrace-uses.rst | ||
| ftrace.rst | ||
| function-graph-fold.vim | ||
| histogram.rst | ||
| hwlat_detector.rst | ||
| index.rst | ||
| intel_th.rst | ||
| kprobetrace.rst | ||
| mmiotrace.rst | ||
| ring-buffer-design.txt | ||
| stm.rst | ||
| sys-t.rst | ||
| tracepoint-analysis.rst | ||
| tracepoints.rst | ||
| uprobetracer.rst | ||