ftrace: Expose ftrace_hash_empty and ftrace_lookup_ip
It will be used when checking graph filter hashes later. Link: http://lkml.kernel.org/r/20170120024447.26097-2-namhyung@kernel.org Signed-off-by: Namhyung Kim <namhyung@kernel.org> [ Moved ftrace_hash dec and functions outside of FUNCTION_GRAPH define ] Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
parent
3e278c0dc1
commit
4046bf023b
@ -1110,13 +1110,6 @@ struct ftrace_func_entry {
|
|||||||
unsigned long ip;
|
unsigned long ip;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ftrace_hash {
|
|
||||||
unsigned long size_bits;
|
|
||||||
struct hlist_head *buckets;
|
|
||||||
unsigned long count;
|
|
||||||
struct rcu_head rcu;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We make these constant because no one should touch them,
|
* We make these constant because no one should touch them,
|
||||||
* but they are used as the default "empty hash", to avoid allocating
|
* but they are used as the default "empty hash", to avoid allocating
|
||||||
@ -1192,12 +1185,7 @@ struct ftrace_page {
|
|||||||
static struct ftrace_page *ftrace_pages_start;
|
static struct ftrace_page *ftrace_pages_start;
|
||||||
static struct ftrace_page *ftrace_pages;
|
static struct ftrace_page *ftrace_pages;
|
||||||
|
|
||||||
static bool __always_inline ftrace_hash_empty(struct ftrace_hash *hash)
|
struct ftrace_func_entry *
|
||||||
{
|
|
||||||
return !hash || !hash->count;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct ftrace_func_entry *
|
|
||||||
ftrace_lookup_ip(struct ftrace_hash *hash, unsigned long ip)
|
ftrace_lookup_ip(struct ftrace_hash *hash, unsigned long ip)
|
||||||
{
|
{
|
||||||
unsigned long key;
|
unsigned long key;
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user