Procházet zdrojové kódy

tracing: add handler to trace_stat

Currently, if a trace_stat user wants a handle to some private data,
the trace_stat infrastructure does not supply a way to do that.

This patch passes the trace_stat structure to the start function of
the trace_stat code.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Steven Rostedt před 16 roky
rodič
revize
425480081e

+ 2 - 2
kernel/trace/trace_branch.c

@@ -263,7 +263,7 @@ static int branch_stat_show(struct seq_file *m, void *v)
 	return 0;
 	return 0;
 }
 }
 
 
-static void *annotated_branch_stat_start(void)
+static void *annotated_branch_stat_start(struct tracer_stat *trace)
 {
 {
 	return __start_annotated_branch_profile;
 	return __start_annotated_branch_profile;
 }
 }
@@ -338,7 +338,7 @@ static int all_branch_stat_headers(struct seq_file *m)
 	return 0;
 	return 0;
 }
 }
 
 
-static void *all_branch_stat_start(void)
+static void *all_branch_stat_start(struct tracer_stat *trace)
 {
 {
 	return __start_branch_profile;
 	return __start_branch_profile;
 }
 }

+ 1 - 1
kernel/trace/trace_stat.c

@@ -85,7 +85,7 @@ static int stat_seq_init(struct tracer_stat_session *session)
 	if (!ts->stat_cmp)
 	if (!ts->stat_cmp)
 		ts->stat_cmp = dummy_cmp;
 		ts->stat_cmp = dummy_cmp;
 
 
-	stat = ts->stat_start();
+	stat = ts->stat_start(ts);
 	if (!stat)
 	if (!stat)
 		goto exit;
 		goto exit;
 
 

+ 1 - 1
kernel/trace/trace_stat.h

@@ -12,7 +12,7 @@ struct tracer_stat {
 	/* The name of your stat file */
 	/* The name of your stat file */
 	const char		*name;
 	const char		*name;
 	/* Iteration over statistic entries */
 	/* Iteration over statistic entries */
-	void			*(*stat_start)(void);
+	void			*(*stat_start)(struct tracer_stat *trace);
 	void			*(*stat_next)(void *prev, int idx);
 	void			*(*stat_next)(void *prev, int idx);
 	/* Compare two entries for stats sorting */
 	/* Compare two entries for stats sorting */
 	int			(*stat_cmp)(void *p1, void *p2);
 	int			(*stat_cmp)(void *p1, void *p2);

+ 1 - 1
kernel/trace/trace_workqueue.c

@@ -152,7 +152,7 @@ static struct cpu_workqueue_stats *workqueue_stat_start_cpu(int cpu)
 	return ret;
 	return ret;
 }
 }
 
 
-static void *workqueue_stat_start(void)
+static void *workqueue_stat_start(struct tracer_stat *trace)
 {
 {
 	int cpu;
 	int cpu;
 	void *ret = NULL;
 	void *ret = NULL;