[RFC PATCH 00/10] Ftrace functions hashlist

From: Frederic Weisbecker
Date: Thu Jan 21 2010 - 20:16:34 EST


Hi,

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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/