Re: [PATCH 1/2] perf/trace: call machine__exit() at exiting
From: Jiri Olsa
Date: Wed Nov 08 2017 - 05:39:36 EST
On Tue, Nov 07, 2017 at 04:22:45PM -0800, Andrei Vagin wrote:
> Otherwise perf trace leaves a temprary file /tmp/perf-vdso.so-XXXXXX.
>
> $ perf trace -o log true
> $ ls -l /tmp/perf-vdso.*
> -rw------- 1 root root 8192 Nov 8 03:08 /tmp/perf-vdso.so-5bCpD0
>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
> Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> Signed-off-by: Andrei Vagin <avagin@xxxxxxxxxx>
for patchset:
Reviewed-by: Jiri Olsa <jolsa@xxxxxxxxxx>
thanks,
jirka
> ---
> tools/perf/builtin-trace.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
> index 505b871fdc82..f2757d38c7d7 100644
> --- a/tools/perf/builtin-trace.c
> +++ b/tools/perf/builtin-trace.c
> @@ -1164,6 +1164,14 @@ static int trace__symbols_init(struct trace *trace, struct perf_evlist *evlist)
> return err;
> }
>
> +static void trace__symbols__exit(struct trace *trace)
> +{
> + machine__exit(trace->host);
> + trace->host = NULL;
> +
> + symbol__exit();
> +}
> +
> static int syscall__alloc_arg_fmts(struct syscall *sc, int nr_args)
> {
> int idx;
> @@ -2508,6 +2516,8 @@ static int trace__run(struct trace *trace, int argc, const char **argv)
> }
>
> out_delete_evlist:
> + trace__symbols__exit(trace);
> +
> perf_evlist__delete(evlist);
> trace->evlist = NULL;
> trace->live = false;
> --
> 2.13.6
>