ftrace: Move the function commands into the tracing directory
As nothing outside the tracing directory uses the function command mechanism, I'm moving the prototypes out of the include/linux/ftrace.h and into the local kernel/trace/trace.h header. I plan on making them hook to the trace_array structure which is local to kernel/trace, and I do not want to expose it to the rest of the kernel. This requires that the command functions must also be local to tracing. But luckily nothing else uses them. Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
parent
ec19b85913
commit
92a68fa047
|
@ -326,14 +326,6 @@ static inline void stack_tracer_disable(void) { }
|
||||||
static inline void stack_tracer_enable(void) { }
|
static inline void stack_tracer_enable(void) { }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct ftrace_func_command {
|
|
||||||
struct list_head list;
|
|
||||||
char *name;
|
|
||||||
int (*func)(struct ftrace_hash *hash,
|
|
||||||
char *func, char *cmd,
|
|
||||||
char *params, int enable);
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef CONFIG_DYNAMIC_FTRACE
|
#ifdef CONFIG_DYNAMIC_FTRACE
|
||||||
|
|
||||||
int ftrace_arch_code_modify_prepare(void);
|
int ftrace_arch_code_modify_prepare(void);
|
||||||
|
@ -421,9 +413,6 @@ void ftrace_set_global_notrace(unsigned char *buf, int len, int reset);
|
||||||
void ftrace_free_filter(struct ftrace_ops *ops);
|
void ftrace_free_filter(struct ftrace_ops *ops);
|
||||||
void ftrace_ops_set_global_filter(struct ftrace_ops *ops);
|
void ftrace_ops_set_global_filter(struct ftrace_ops *ops);
|
||||||
|
|
||||||
int register_ftrace_command(struct ftrace_func_command *cmd);
|
|
||||||
int unregister_ftrace_command(struct ftrace_func_command *cmd);
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
FTRACE_UPDATE_CALLS = (1 << 0),
|
FTRACE_UPDATE_CALLS = (1 << 0),
|
||||||
FTRACE_DISABLE_CALLS = (1 << 1),
|
FTRACE_DISABLE_CALLS = (1 << 1),
|
||||||
|
@ -639,14 +628,6 @@ static inline void ftrace_enable_daemon(void) { }
|
||||||
static inline void ftrace_module_init(struct module *mod) { }
|
static inline void ftrace_module_init(struct module *mod) { }
|
||||||
static inline void ftrace_module_enable(struct module *mod) { }
|
static inline void ftrace_module_enable(struct module *mod) { }
|
||||||
static inline void ftrace_release_mod(struct module *mod) { }
|
static inline void ftrace_release_mod(struct module *mod) { }
|
||||||
static inline __init int register_ftrace_command(struct ftrace_func_command *cmd)
|
|
||||||
{
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
static inline __init int unregister_ftrace_command(char *cmd_name)
|
|
||||||
{
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
static inline int ftrace_text_reserved(const void *start, const void *end)
|
static inline int ftrace_text_reserved(const void *start, const void *end)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -880,6 +880,13 @@ print_graph_function_flags(struct trace_iterator *iter, u32 flags)
|
||||||
extern struct list_head ftrace_pids;
|
extern struct list_head ftrace_pids;
|
||||||
|
|
||||||
#ifdef CONFIG_FUNCTION_TRACER
|
#ifdef CONFIG_FUNCTION_TRACER
|
||||||
|
struct ftrace_func_command {
|
||||||
|
struct list_head list;
|
||||||
|
char *name;
|
||||||
|
int (*func)(struct ftrace_hash *hash,
|
||||||
|
char *func, char *cmd,
|
||||||
|
char *params, int enable);
|
||||||
|
};
|
||||||
extern bool ftrace_filter_param __initdata;
|
extern bool ftrace_filter_param __initdata;
|
||||||
static inline int ftrace_trace_task(struct trace_array *tr)
|
static inline int ftrace_trace_task(struct trace_array *tr)
|
||||||
{
|
{
|
||||||
|
@ -948,10 +955,23 @@ extern void
|
||||||
unregister_ftrace_function_probe_func(char *glob, struct ftrace_probe_ops *ops);
|
unregister_ftrace_function_probe_func(char *glob, struct ftrace_probe_ops *ops);
|
||||||
extern void unregister_ftrace_function_probe_all(char *glob);
|
extern void unregister_ftrace_function_probe_all(char *glob);
|
||||||
|
|
||||||
|
int register_ftrace_command(struct ftrace_func_command *cmd);
|
||||||
|
int unregister_ftrace_command(struct ftrace_func_command *cmd);
|
||||||
|
|
||||||
void ftrace_create_filter_files(struct ftrace_ops *ops,
|
void ftrace_create_filter_files(struct ftrace_ops *ops,
|
||||||
struct dentry *parent);
|
struct dentry *parent);
|
||||||
void ftrace_destroy_filter_files(struct ftrace_ops *ops);
|
void ftrace_destroy_filter_files(struct ftrace_ops *ops);
|
||||||
#else
|
#else
|
||||||
|
struct ftrace_func_command;
|
||||||
|
|
||||||
|
static inline __init int register_ftrace_command(struct ftrace_func_command *cmd)
|
||||||
|
{
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
static inline __init int unregister_ftrace_command(char *cmd_name)
|
||||||
|
{
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* The ops parameter passed in is usually undefined.
|
* The ops parameter passed in is usually undefined.
|
||||||
* This must be a macro.
|
* This must be a macro.
|
||||||
|
|
Loading…
Reference in New Issue