|
@@ -753,6 +753,21 @@ enum print_line_t print_trace_line(struct trace_iterator *iter);
|
|
|
|
|
|
extern char trace_find_mark(unsigned long long duration);
|
|
extern char trace_find_mark(unsigned long long duration);
|
|
|
|
|
|
|
|
+struct ftrace_hash {
|
|
|
|
+ unsigned long size_bits;
|
|
|
|
+ struct hlist_head *buckets;
|
|
|
|
+ unsigned long count;
|
|
|
|
+ struct rcu_head rcu;
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct ftrace_func_entry *
|
|
|
|
+ftrace_lookup_ip(struct ftrace_hash *hash, unsigned long ip);
|
|
|
|
+
|
|
|
|
+static bool __always_inline ftrace_hash_empty(struct ftrace_hash *hash)
|
|
|
|
+{
|
|
|
|
+ return !hash || !hash->count;
|
|
|
|
+}
|
|
|
|
+
|
|
/* Standard output formatting function used for function return traces */
|
|
/* Standard output formatting function used for function return traces */
|
|
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
|
|
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
|
|
|
|
|
|
@@ -787,7 +802,6 @@ extern void __trace_graph_return(struct trace_array *tr,
|
|
struct ftrace_graph_ret *trace,
|
|
struct ftrace_graph_ret *trace,
|
|
unsigned long flags, int pc);
|
|
unsigned long flags, int pc);
|
|
|
|
|
|
-
|
|
|
|
#ifdef CONFIG_DYNAMIC_FTRACE
|
|
#ifdef CONFIG_DYNAMIC_FTRACE
|
|
/* TODO: make this variable */
|
|
/* TODO: make this variable */
|
|
#define FTRACE_GRAPH_MAX_FUNCS 32
|
|
#define FTRACE_GRAPH_MAX_FUNCS 32
|