function-graph: use ftrace_graph_funcs directly
No need to store ftrace_graph_funcs in file->private. Acked-by: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> LKML-Reference: <4AB32364.7020602@cn.fujitsu.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
parent
0efb4d2072
commit
a4ec5e0c26
|
@ -2414,11 +2414,9 @@ unsigned long ftrace_graph_funcs[FTRACE_GRAPH_MAX_FUNCS] __read_mostly;
|
||||||
static void *
|
static void *
|
||||||
__g_next(struct seq_file *m, loff_t *pos)
|
__g_next(struct seq_file *m, loff_t *pos)
|
||||||
{
|
{
|
||||||
unsigned long *array = m->private;
|
|
||||||
|
|
||||||
if (*pos >= ftrace_graph_count)
|
if (*pos >= ftrace_graph_count)
|
||||||
return NULL;
|
return NULL;
|
||||||
return &array[*pos];
|
return &ftrace_graph_funcs[*pos];
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *
|
static void *
|
||||||
|
@ -2482,17 +2480,11 @@ ftrace_graph_open(struct inode *inode, struct file *file)
|
||||||
ftrace_graph_count = 0;
|
ftrace_graph_count = 0;
|
||||||
memset(ftrace_graph_funcs, 0, sizeof(ftrace_graph_funcs));
|
memset(ftrace_graph_funcs, 0, sizeof(ftrace_graph_funcs));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (file->f_mode & FMODE_READ) {
|
|
||||||
ret = seq_open(file, &ftrace_graph_seq_ops);
|
|
||||||
if (!ret) {
|
|
||||||
struct seq_file *m = file->private_data;
|
|
||||||
m->private = ftrace_graph_funcs;
|
|
||||||
}
|
|
||||||
} else
|
|
||||||
file->private_data = ftrace_graph_funcs;
|
|
||||||
mutex_unlock(&graph_lock);
|
mutex_unlock(&graph_lock);
|
||||||
|
|
||||||
|
if (file->f_mode & FMODE_READ)
|
||||||
|
ret = seq_open(file, &ftrace_graph_seq_ops);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2560,7 +2552,6 @@ ftrace_graph_write(struct file *file, const char __user *ubuf,
|
||||||
size_t cnt, loff_t *ppos)
|
size_t cnt, loff_t *ppos)
|
||||||
{
|
{
|
||||||
struct trace_parser parser;
|
struct trace_parser parser;
|
||||||
unsigned long *array;
|
|
||||||
size_t read = 0;
|
size_t read = 0;
|
||||||
ssize_t ret;
|
ssize_t ret;
|
||||||
|
|
||||||
|
@ -2574,12 +2565,6 @@ ftrace_graph_write(struct file *file, const char __user *ubuf,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (file->f_mode & FMODE_READ) {
|
|
||||||
struct seq_file *m = file->private_data;
|
|
||||||
array = m->private;
|
|
||||||
} else
|
|
||||||
array = file->private_data;
|
|
||||||
|
|
||||||
if (trace_parser_get_init(&parser, FTRACE_BUFF_MAX)) {
|
if (trace_parser_get_init(&parser, FTRACE_BUFF_MAX)) {
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
goto out;
|
goto out;
|
||||||
|
@ -2591,7 +2576,7 @@ ftrace_graph_write(struct file *file, const char __user *ubuf,
|
||||||
parser.buffer[parser.idx] = 0;
|
parser.buffer[parser.idx] = 0;
|
||||||
|
|
||||||
/* we allow only one expression at a time */
|
/* we allow only one expression at a time */
|
||||||
ret = ftrace_set_func(array, &ftrace_graph_count,
|
ret = ftrace_set_func(ftrace_graph_funcs, &ftrace_graph_count,
|
||||||
parser.buffer);
|
parser.buffer);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
Loading…
Reference in New Issue