Messages in this thread Patch in this message | | | From | Namhyung Kim <> | Subject | Re: [PATCH -tip v2 1/8] [BUGFIX] perf-probe: Fix to do exit call for symbol maps | Date | Mon, 03 Feb 2014 16:41:43 +0900 |
| |
Hi Masami,
On Wed, 29 Jan 2014 09:14:52 +0000, Masami Hiramatsu wrote: > Some perf-probe commands do symbol_init() but doesn't > do exit call. This fixes that to call symbol_exit() > and relase machine if needed. > This also merges init_vmlinux() and init_user_exec() > because both of them are doing similar things. > (init_user_exec() just skips init vmlinux related > symbol maps) > > Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> > --- > tools/perf/util/probe-event.c | 110 +++++++++++++++++++++++------------------ > 1 file changed, 61 insertions(+), 49 deletions(-) > > diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c > index a8a9b6c..14c649df 100644 > --- a/tools/perf/util/probe-event.c > +++ b/tools/perf/util/probe-event.c > @@ -73,31 +73,35 @@ static char *synthesize_perf_probe_point(struct perf_probe_point *pp); > static int convert_name_to_addr(struct perf_probe_event *pev, > const char *exec); > static void clear_probe_trace_event(struct probe_trace_event *tev); > -static struct machine machine; > +static struct machine *host_machine; > > /* Initialize symbol maps and path of vmlinux/modules */ > -static int init_vmlinux(void) > +static int init_symbol_maps(bool user_only) > { > int ret; > > symbol_conf.sort_by_name = true; > - if (symbol_conf.vmlinux_name == NULL) > - symbol_conf.try_vmlinux_path = true; > - else > - pr_debug("Use vmlinux: %s\n", symbol_conf.vmlinux_name); > + if (user_only) > + symbol_conf.try_vmlinux_path = false; > + else { > + if (symbol_conf.vmlinux_name == NULL) > + symbol_conf.try_vmlinux_path = true;
This looks unnecessary and duplicate since we already have following code in __cmd_probe().
/* * Only consider the user's kernel image path if given. */ symbol_conf.try_vmlinux_path = (symbol_conf.vmlinux_name == NULL);
Thanks, Namhyung
> + else > + pr_debug("Use vmlinux: %s\n", symbol_conf.vmlinux_name); > + }
| |