Messages in this thread |  | | Date | Fri, 17 Jul 2009 01:38:40 -0400 | From | Frederic Weisbecker <> | Subject | Re: [PATCH 2/2] tracing/function: cleanup for function tracer |
| |
On Thu, Jul 16, 2009 at 02:21:08PM +0800, Xiao Guangrong wrote: > We can use %pf input format instead of kallsyms_lookup() > and %s input format > > Thanks for Li Zefan's offline review. > > Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> > Reviewed-by: Li Zefan <lizf@cn.fujitsu.com>
Queuing these two patches for .32
Thanks!
Frederic.
> --- > kernel/trace/ftrace.c | 17 +++-------------- > kernel/trace/trace_functions.c | 4 +--- > 2 files changed, 4 insertions(+), 17 deletions(-) > > diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c > index 4521c77..8f7d28e 100644 > --- a/kernel/trace/ftrace.c > +++ b/kernel/trace/ftrace.c > @@ -1438,18 +1438,13 @@ static int t_hash_show(struct seq_file *m, void *v) > { > struct ftrace_func_probe *rec; > struct hlist_node *hnd = v; > - char str[KSYM_SYMBOL_LEN]; > > rec = hlist_entry(hnd, struct ftrace_func_probe, node); > > if (rec->ops->print) > return rec->ops->print(m, rec->ip, rec->ops, rec->data); > > - kallsyms_lookup(rec->ip, NULL, NULL, NULL, str); > - seq_printf(m, "%s:", str); > - > - kallsyms_lookup((unsigned long)rec->ops->func, NULL, NULL, NULL, str); > - seq_printf(m, "%s", str); > + seq_printf(m, "%pf:%pf", (void *)rec->ip, (void *)rec->ops->func); > > if (rec->data) > seq_printf(m, ":%p", rec->data); > @@ -1547,7 +1542,6 @@ static int t_show(struct seq_file *m, void *v) > { > struct ftrace_iterator *iter = m->private; > struct dyn_ftrace *rec = v; > - char str[KSYM_SYMBOL_LEN]; > > if (iter->flags & FTRACE_ITER_HASH) > return t_hash_show(m, v); > @@ -1560,9 +1554,7 @@ static int t_show(struct seq_file *m, void *v) > if (!rec) > return 0; > > - kallsyms_lookup(rec->ip, NULL, NULL, NULL, str); > - > - seq_printf(m, "%s\n", str); > + seq_printf(m, "%pf\n", (void *)rec->ip); > > return 0; > } > @@ -2543,7 +2535,6 @@ static void g_stop(struct seq_file *m, void *p) > static int g_show(struct seq_file *m, void *v) > { > unsigned long *ptr = v; > - char str[KSYM_SYMBOL_LEN]; > > if (!ptr) > return 0; > @@ -2553,9 +2544,7 @@ static int g_show(struct seq_file *m, void *v) > return 0; > } > > - kallsyms_lookup(*ptr, NULL, NULL, NULL, str); > - > - seq_printf(m, "%s\n", str); > + seq_printf(m, "%pf\n", v); > > return 0; > } > diff --git a/kernel/trace/trace_functions.c b/kernel/trace/trace_functions.c > index 7402144..b53dc99 100644 > --- a/kernel/trace/trace_functions.c > +++ b/kernel/trace/trace_functions.c > @@ -288,11 +288,9 @@ static int > ftrace_trace_onoff_print(struct seq_file *m, unsigned long ip, > struct ftrace_probe_ops *ops, void *data) > { > - char str[KSYM_SYMBOL_LEN]; > long count = (long)data; > > - kallsyms_lookup(ip, NULL, NULL, NULL, str); > - seq_printf(m, "%s:", str); > + seq_printf(m, "%pf:", (void *)ip); > > if (ops == &traceon_probe_ops) > seq_printf(m, "traceon"); > -- > 1.6.1.2 >
|  |