summaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace.h
diff options
context:
space:
mode:
authorSteven Rostedt (VMware)2019-04-02 04:52:21 +0200
committerSteven Rostedt (VMware)2019-04-08 15:22:44 +0200
commit2f754e771b1a6feba670782e82c45555984ac43b (patch)
tree61cc094e172790fadfa6c95768317a2aa4030666 /kernel/trace/trace.h
parenttracing: Have histogram code pass around trace_array for error handling (diff)
downloadkernel-qcow2-linux-2f754e771b1a6feba670782e82c45555984ac43b.tar.gz
kernel-qcow2-linux-2f754e771b1a6feba670782e82c45555984ac43b.tar.xz
kernel-qcow2-linux-2f754e771b1a6feba670782e82c45555984ac43b.zip
tracing: Have the error logs show up in the proper instances
As each instance has their own error_log file, it makes more sense that the instances show the errors of their own instead of all error_logs having the same data. Make it that the errors show up in the instance error_log file that the error happens in. If no instance trace_array is available, then NULL can be passed in which will create the error in the top level instance (the one at the top of the tracefs directory). Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org> Reviewed-by: Tom Zanussi <tom.zanussi@linux.intel.com> Tested-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace.h')
-rw-r--r--kernel/trace/trace.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
index 809c5d7f0064..da00a3d508c1 100644
--- a/kernel/trace/trace.h
+++ b/kernel/trace/trace.h
@@ -293,11 +293,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;
@@ -1886,7 +1888,8 @@ extern ssize_t trace_parse_run_command(struct file *file,
int (*createfn)(int, char**));
extern unsigned int err_pos(char *cmd, const char *str);
-extern void tracing_log_err(const char *loc, const char *cmd,
+extern void tracing_log_err(struct trace_array *tr,
+ const char *loc, const char *cmd,
const char **errs, u8 type, u8 pos);
/*