User: Password:
Subscribe / Log in / New account

Ftrace functions hashlist

From:  Frederic Weisbecker <>
To:  Ingo Molnar <>
Subject:  [RFC PATCH 00/10] Ftrace functions hashlist
Date:  Fri, 22 Jan 2010 02:16:12 +0100
Message-ID:  <>
Cc:  LKML <>, Frederic Weisbecker <>, Steven Rostedt <>, Li Zefan <>, Lai Jiangshan <>
Archive-link:  Article


This set exports the functions hashlist in use by the functions
profiler for more general uses.

For now it has fixed a scalability problem in the function graph
tracer concerning the function start filtering (toward
set_graph_function file).

This is especially the beginning of a work to allow multiple function
(and function graph) tracers instances usable in parallel with
their own dynamic ftrace parameters. The plan is then to make
these tracers available for wider uses like perf, toward the trace
event api or whatever...

This is still in RFC stage because with this patchset,
the set of function filters from set_graph_function is only
active after the function graph tracer is enabled. If
set_graph_function is changed in the middle of the tracing, the
filters will be actually updated only after you switch to another
tracer and re-switch to the grah tracer. But that should be
fixed in a further iteration.

Frederic Weisbecker (9):
  ftrace: Generalize the function hashlist from function profiler
  ftrace: Ensure tracing has really stopped before leaving unregister_ftrace_graph
  ftrace: Drop the ftrace_profile_enabled checks in tracing hot path
  ftrace: Ensure buffers are visibles to tracing callbacks right away
  ftrace: Drop buffer check in function profiler callbacks
  ftrace: Release the function hlist if we don't need it anymore
  ftrace: Make the function hashlist concurrently usable
  tracing: Use the hashlist for graph function
  ftrace: Factorize search and insertion in the function hashlist

Lai Jiangshan (1):
  tracing: Simplify test for function_graph tracing

 kernel/trace/Makefile                |    1 +
 kernel/trace/ftrace.c                |  378 ++++++++++------------------------
 kernel/trace/functions_hlist.c       |  289 ++++++++++++++++++++++++++
 kernel/trace/functions_hlist.h       |   54 +++++
 kernel/trace/trace.h                 |   21 +--
 kernel/trace/trace_functions_graph.c |   46 ++++-
 6 files changed, 493 insertions(+), 296 deletions(-)
 create mode 100644 kernel/trace/functions_hlist.c
 create mode 100644 kernel/trace/functions_hlist.h

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds