diff options
Diffstat (limited to 'kernel/trace/trace.h')
| -rw-r--r-- | kernel/trace/trace.h | 22 | 
1 files changed, 12 insertions, 10 deletions
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index d80cee49e0eb..82c70b63d375 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h @@ -15,7 +15,6 @@  #include <linux/trace_seq.h>  #include <linux/trace_events.h>  #include <linux/compiler.h> -#include <linux/trace_seq.h>  #include <linux/glob.h>  #ifdef CONFIG_FTRACE_SYSCALLS @@ -293,11 +292,13 @@ struct trace_array {  	int			nr_topts;  	bool			clear_trace;  	int			buffer_percent; +	unsigned int		n_err_log_entries;  	struct tracer		*current_trace;  	unsigned int		trace_flags;  	unsigned char		trace_flags_index[TRACE_FLAGS_MAX_SIZE];  	unsigned int		flags;  	raw_spinlock_t		start_lock; +	struct list_head	err_log;  	struct dentry		*dir;  	struct dentry		*options;  	struct dentry		*percpu_dir; @@ -719,6 +720,9 @@ void trace_init_global_iter(struct trace_iterator *iter);  void tracing_iter_reset(struct trace_iterator *iter, int cpu); +unsigned long trace_total_entries_cpu(struct trace_array *tr, int cpu); +unsigned long trace_total_entries(struct trace_array *tr); +  void trace_function(struct trace_array *tr,  		    unsigned long ip,  		    unsigned long parent_ip, @@ -782,17 +786,9 @@ void update_max_tr_single(struct trace_array *tr,  #endif /* CONFIG_TRACER_MAX_TRACE */  #ifdef CONFIG_STACKTRACE -void ftrace_trace_userstack(struct ring_buffer *buffer, unsigned long flags, -			    int pc); -  void __trace_stack(struct trace_array *tr, unsigned long flags, int skip,  		   int pc);  #else -static inline void ftrace_trace_userstack(struct ring_buffer *buffer, -					  unsigned long flags, int pc) -{ -} -  static inline void __trace_stack(struct trace_array *tr, unsigned long flags,  				 int skip, int pc)  { @@ -1553,7 +1549,8 @@ extern int apply_subsystem_event_filter(struct trace_subsystem_dir *dir,  extern void print_subsystem_event_filter(struct event_subsystem *system,  					 struct trace_seq *s);  extern int filter_assign_type(const char *type); -extern int create_event_filter(struct trace_event_call *call, +extern int create_event_filter(struct trace_array *tr, +			       struct trace_event_call *call,  			       char *filter_str, bool set_str,  			       struct event_filter **filterp);  extern void free_event_filter(struct event_filter *filter); @@ -1884,6 +1881,11 @@ extern ssize_t trace_parse_run_command(struct file *file,  		const char __user *buffer, size_t count, loff_t *ppos,  		int (*createfn)(int, char**)); +extern unsigned int err_pos(char *cmd, const char *str); +extern void tracing_log_err(struct trace_array *tr, +			    const char *loc, const char *cmd, +			    const char **errs, u8 type, u8 pos); +  /*   * Normal trace_printk() and friends allocates special buffers   * to do the manipulation, as well as saves the print formats  |