You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing: Fix "integer as NULL pointer" warning. tracing: Fix tracepoint.h DECLARE_TRACE() to allow more than one header tracing: Make the documentation clear on trace_event boot option ring-buffer: Wrap open-coded WARN_ONCE tracing: Convert nop macros to static inlines tracing: Fix sleep time function profiling tracing: Show sample std dev in function profiling tracing: Add documentation for trace commands mod, traceon/traceoff ring-buffer: Make benchmark handle missed events ring-buffer: Make non-consuming read less expensive with lots of cpus. tracing: Add graph output support for irqsoff tracer tracing: Have graph flags passed in to ouput functions tracing: Add ftrace events for graph tracer tracing: Dump either the oops's cpu source or all cpus buffers tracing: Fix uninitialized variable of tracing/trace output
This commit is contained in:
@@ -90,7 +90,8 @@ In order to facilitate early boot debugging, use boot option:
|
||||
|
||||
trace_event=[event-list]
|
||||
|
||||
The format of this boot option is the same as described in section 2.1.
|
||||
event-list is a comma separated list of events. See section 2.1 for event
|
||||
format.
|
||||
|
||||
3. Defining an event-enabled tracepoint
|
||||
=======================================
|
||||
|
||||
@@ -155,6 +155,9 @@ of ftrace. Here is a list of some of the key files:
|
||||
to be traced. Echoing names of functions into this file
|
||||
will limit the trace to only those functions.
|
||||
|
||||
This interface also allows for commands to be used. See the
|
||||
"Filter commands" section for more details.
|
||||
|
||||
set_ftrace_notrace:
|
||||
|
||||
This has an effect opposite to that of
|
||||
@@ -1337,12 +1340,14 @@ ftrace_dump_on_oops must be set. To set ftrace_dump_on_oops, one
|
||||
can either use the sysctl function or set it via the proc system
|
||||
interface.
|
||||
|
||||
sysctl kernel.ftrace_dump_on_oops=1
|
||||
sysctl kernel.ftrace_dump_on_oops=n
|
||||
|
||||
or
|
||||
|
||||
echo 1 > /proc/sys/kernel/ftrace_dump_on_oops
|
||||
echo n > /proc/sys/kernel/ftrace_dump_on_oops
|
||||
|
||||
If n = 1, ftrace will dump buffers of all CPUs, if n = 2 ftrace will
|
||||
only dump the buffer of the CPU that triggered the oops.
|
||||
|
||||
Here's an example of such a dump after a null pointer
|
||||
dereference in a kernel module:
|
||||
@@ -1822,6 +1827,47 @@ this special filter via:
|
||||
echo > set_graph_function
|
||||
|
||||
|
||||
Filter commands
|
||||
---------------
|
||||
|
||||
A few commands are supported by the set_ftrace_filter interface.
|
||||
Trace commands have the following format:
|
||||
|
||||
<function>:<command>:<parameter>
|
||||
|
||||
The following commands are supported:
|
||||
|
||||
- mod
|
||||
This command enables function filtering per module. The
|
||||
parameter defines the module. For example, if only the write*
|
||||
functions in the ext3 module are desired, run:
|
||||
|
||||
echo 'write*:mod:ext3' > set_ftrace_filter
|
||||
|
||||
This command interacts with the filter in the same way as
|
||||
filtering based on function names. Thus, adding more functions
|
||||
in a different module is accomplished by appending (>>) to the
|
||||
filter file. Remove specific module functions by prepending
|
||||
'!':
|
||||
|
||||
echo '!writeback*:mod:ext3' >> set_ftrace_filter
|
||||
|
||||
- traceon/traceoff
|
||||
These commands turn tracing on and off when the specified
|
||||
functions are hit. The parameter determines how many times the
|
||||
tracing system is turned on and off. If unspecified, there is
|
||||
no limit. For example, to disable tracing when a schedule bug
|
||||
is hit the first 5 times, run:
|
||||
|
||||
echo '__schedule_bug:traceoff:5' > set_ftrace_filter
|
||||
|
||||
These commands are cumulative whether or not they are appended
|
||||
to set_ftrace_filter. To remove a command, prepend it by '!'
|
||||
and drop the parameter:
|
||||
|
||||
echo '!__schedule_bug:traceoff' > set_ftrace_filter
|
||||
|
||||
|
||||
trace_pipe
|
||||
----------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user