Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5eb6eed7 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull tracing updates from Steven Rostedt:
 "One new feature was added to ftrace, which is the trace_marker now
  supports triggers. For example:

    # cd /sys/kernel/debug/tracing
    # echo 'snapshot' > events/ftrace/print/trigger
    # echo 'cause snapshot' > trace_marker

  The rest of the changes are various clean ups and also one stable fix
  that was added late in the cycle"

* tag 'trace-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (21 commits)
  tracing: Use match_string() instead of open coding it in trace_set_options()
  branch-check: fix long->int truncation when profiling branches
  ring-buffer: Fix typo in comment
  ring-buffer: Fix a bunch of typos in comments
  tracing/selftest: Add test to test simple snapshot trigger for trace_marker
  tracing/selftest: Add test to test hist trigger between kernel event and trace_marker
  tracing/selftest: Add selftests to test trace_marker histogram triggers
  ftrace/selftest: Fix reset_trigger() to handle triggers with filters
  ftrace/selftest: Have the reset_trigger code be a bit more careful
  tracing: Document trace_marker triggers
  tracing: Allow histogram triggers to access ftrace internal events
  tracing: Prevent further users of zero size static arrays in trace events
  tracing: Have zero size length in filter logic be full string
  tracing: Add trigger file for trace_markers tracefs/ftrace/print
  tracing: Do not show filter file for ftrace internal events
  tracing: Add brackets in ftrace event dynamic arrays
  tracing: Have event_trace_init() called by trace_init_tracefs()
  tracing: Add __find_event_file() to find event files without restrictions
  tracing: Do not reference event data in post call triggers
  tracepoints: Fix the descriptions of tracepoint_probe_register{_prio}
  ...
parents 8b5c6a3a 591a033d
Loading
Loading
Loading
Loading
+5 −1
Original line number Original line Diff line number Diff line
@@ -338,10 +338,14 @@ used for conditionally invoking triggers.


The syntax for event triggers is roughly based on the syntax for
The syntax for event triggers is roughly based on the syntax for
set_ftrace_filter 'ftrace filter commands' (see the 'Filter commands'
set_ftrace_filter 'ftrace filter commands' (see the 'Filter commands'
section of Documentation/trace/ftrace.txt), but there are major
section of Documentation/trace/ftrace.rst), but there are major
differences and the implementation isn't currently tied to it in any
differences and the implementation isn't currently tied to it in any
way, so beware about making generalizations between the two.
way, so beware about making generalizations between the two.


Note: Writing into trace_marker (See Documentation/trace/ftrace.rst)
     can also enable triggers that are written into
     /sys/kernel/tracing/events/ftrace/print/trigger

6.1 Expression syntax
6.1 Expression syntax
---------------------
---------------------


+5 −0
Original line number Original line Diff line number Diff line
@@ -512,6 +512,11 @@ of ftrace. Here is a list of some of the key files:


		trace_fd = open("trace_marker", WR_ONLY);
		trace_fd = open("trace_marker", WR_ONLY);


	Note: Writing into the trace_marker file can also initiate triggers
	      that are written into /sys/kernel/tracing/events/ftrace/print/trigger
	      See "Event triggers" in Documentation/trace/events.rst and an
              example in Documentation/trace/histogram.rst (Section 3.)

  trace_marker_raw:
  trace_marker_raw:


	This is similar to trace_marker above, but is meant for for binary data
	This is similar to trace_marker above, but is meant for for binary data
+544 −1

File changed.

Preview size limit exceeded, changes collapsed.

+1 −1
Original line number Original line Diff line number Diff line
@@ -21,7 +21,7 @@ void ftrace_likely_update(struct ftrace_likely_data *f, int val,
#define unlikely_notrace(x)	__builtin_expect(!!(x), 0)
#define unlikely_notrace(x)	__builtin_expect(!!(x), 0)


#define __branch_check__(x, expect, is_constant) ({			\
#define __branch_check__(x, expect, is_constant) ({			\
			int ______r;					\
			long ______r;					\
			static struct ftrace_likely_data		\
			static struct ftrace_likely_data		\
				__attribute__((__aligned__(4)))		\
				__attribute__((__aligned__(4)))		\
				__attribute__((section("_ftrace_annotated_branch"))) \
				__attribute__((section("_ftrace_annotated_branch"))) \
+1 −1
Original line number Original line Diff line number Diff line
@@ -65,7 +65,7 @@ u64 ring_buffer_event_time_stamp(struct ring_buffer_event *event);


/*
/*
 * ring_buffer_discard_commit will remove an event that has not
 * ring_buffer_discard_commit will remove an event that has not
 *   ben committed yet. If this is used, then ring_buffer_unlock_commit
 *   been committed yet. If this is used, then ring_buffer_unlock_commit
 *   must not be called on the discarded event. This function
 *   must not be called on the discarded event. This function
 *   will try to remove the event from the ring buffer completely
 *   will try to remove the event from the ring buffer completely
 *   if another event has not been written after it.
 *   if another event has not been written after it.
Loading