Messages in this thread | | | Date | Mon, 03 Feb 2014 17:19:30 +0900 | From | Masami Hiramatsu <> | Subject | Re: [PATCH -tip v2 1/8] [BUGFIX] perf-probe: Fix to do exit call for symbol maps |
| |
(2014/02/03 16:41), Namhyung Kim wrote: > 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);
Ah, I see :) OK, I'll remove that part not to setting symbol_conf in probe-event.c.
Thank you!
-- Masami HIRAMATSU IT Management Research Dept. Linux Technology Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: masami.hiramatsu.pt@hitachi.com
| |