linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/11] [GIT PULL] tracing: Updates for 3.18
@ 2014-10-06 21:35 Steven Rostedt
  2014-10-06 21:35 ` [PATCH 01/11] ftrace: Add separate function for non recursive callbacks Steven Rostedt
                   ` (10 more replies)
  0 siblings, 11 replies; 13+ messages in thread
From: Steven Rostedt @ 2014-10-06 21:35 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds, Ingo Molnar, Andrew Morton


Linus,

This set has a few minor updates, but the big change is the redesign
of the trampoline logic.

The trampoline logic of 3.17 required a descriptor for every function
that is registered to be traced and uses a trampoline. Currently,
only the function graph tracer uses a trampoline, but if you were
to trace all 32,000 (give or take a few thousand) functions with the
function graph tracer, it would create 32,000 descriptors to let us
know that there's a trampoline associated with it. This takes up a bit
of memory when there's a better way to do it.

The redesign now reuses the ftrace_ops' (what registers the function graph
tracer) hash tables. The hash tables tell ftrace what the tracer
wants to trace or doesn't want to trace. There's two of them: one
that tells us what to trace, the other tells us what not to trace.
If the first one is empty, it means all functions should be traced,
otherwise only the ones that are listed should be. The second hash table
tells us what not to trace, and if it is empty, all functions may be
traced, and if there's any listed, then those should not be traced
even if they exist in the first hash table.

It took a bit of massaging, but now these hashes can be used to
keep track of what has a trampoline and what does not, and allows
the ftrace accounting to work. Now we can trace all functions when using
the function graph trampoline, and avoid needing to create any special
descriptors to hold all the functions that are being traced.

Please pull the latest trace-3.18 tree, which can be found at:


  git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
trace-3.18

Tag SHA1: 9e06c8f394155d5501cbd85894562405566d7c43
Head SHA1: 3ddee63a099ebbdc8f84697fe46730b58240c09d


Andreea-Cristina Bernat (1):
      kernel: trace_syscalls: Replace rcu_assign_pointer() with RCU_INIT_POINTER()

Dave Hansen (1):
      tracing: generate RCU warnings even when tracepoints are disabled

Steven Rostedt (Red Hat) (9):
      ftrace: Add separate function for non recursive callbacks
      ftrace: Add helper function ftrace_ops_get_func()
      ftrace: Set callback to ftrace_stub when no ops are registered
      ftrace: Remove freeing of old_hash from ftrace_hash_move()
      ftrace: Grab any ops for a rec for enabled_functions output
      ftrace: Annotate the ops operation on update
      ftrace: Replace tramp_hash with old_*_hash to save space
      ftrace: Add sanity check when unregistering last ftrace_ops
      ftrace: Only disable ftrace_enabled to test buffer in selftest

----
 include/linux/ftrace.h        |  10 +-
 include/linux/tracepoint.h    |  11 ++
 kernel/trace/ftrace.c         | 416 ++++++++++++++++++++++++------------------
 kernel/trace/trace_selftest.c |   4 +
 kernel/trace/trace_syscalls.c |   4 +-
 5 files changed, 267 insertions(+), 178 deletions(-)

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2014-10-07  2:40 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-06 21:35 [PATCH 00/11] [GIT PULL] tracing: Updates for 3.18 Steven Rostedt
2014-10-06 21:35 ` [PATCH 01/11] ftrace: Add separate function for non recursive callbacks Steven Rostedt
2014-10-06 21:35 ` [PATCH 02/11] ftrace: Add helper function ftrace_ops_get_func() Steven Rostedt
2014-10-06 21:35 ` [PATCH 03/11] ftrace: Set callback to ftrace_stub when no ops are registered Steven Rostedt
2014-10-06 21:35 ` [PATCH 04/11] ftrace: Remove freeing of old_hash from ftrace_hash_move() Steven Rostedt
2014-10-06 21:35 ` [PATCH 05/11] ftrace: Grab any ops for a rec for enabled_functions output Steven Rostedt
2014-10-06 21:35 ` [PATCH 06/11] ftrace: Annotate the ops operation on update Steven Rostedt
2014-10-06 21:35 ` [PATCH 07/11] ftrace: Replace tramp_hash with old_*_hash to save space Steven Rostedt
2014-10-06 21:35 ` [PATCH 08/11] tracing: generate RCU warnings even when tracepoints are disabled Steven Rostedt
2014-10-07  2:39   ` Paul E. McKenney
2014-10-06 21:35 ` [PATCH 09/11] kernel: trace_syscalls: Replace rcu_assign_pointer() with RCU_INIT_POINTER() Steven Rostedt
2014-10-06 21:35 ` [PATCH 10/11] ftrace: Add sanity check when unregistering last ftrace_ops Steven Rostedt
2014-10-06 21:35 ` [PATCH 11/11] ftrace: Only disable ftrace_enabled to test buffer in selftest Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).