Re: [PATCH 18/23] perf tools: Move synthetizing into single function

From: Namhyung Kim
Date: Fri Jul 19 2013 - 08:30:57 EST


On Wed, 17 Jul 2013 19:49:58 +0200, Jiri Olsa wrote:
> Moving synthetizing into single function, so it

s/synthetizing/synthesizing/

The same goes to the subject line too.


> could be reused.
>
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx>
> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> Cc: Paul Mackerras <paulus@xxxxxxxxx>
> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> Cc: David Ahern <dsahern@xxxxxxxxx>
> ---
> tools/perf/builtin-record.c | 155 ++++++++++++++++++++++++++------------------
> 1 file changed, 91 insertions(+), 64 deletions(-)
>
> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index b67564c..33a5bce 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -317,6 +317,95 @@ static void perf_event__synthesize_guest_os(struct machine *machine, void *data)
> " relocation symbol.\n", machine->pid);
> }
>
> +static int synthesize_record_pipe(struct perf_record *rec)
> +{
> + struct perf_session *session = rec->session;
> + struct perf_tool *tool = &rec->tool;
> + struct perf_evlist *evlist = rec->evlist;
> + int err;
> +
> + err = perf_event__synthesize_attrs(tool, session,
> + process_synthesized_event);
> + if (err < 0) {
> + pr_err("Couldn't synthesize attrs.\n");
> + return err;
> + }
> +
> + if (have_tracepoints(&evlist->entries)) {
> + /*
> + * FIXME err <= 0 here actually means that
> + * there were no tracepoints so its not really
> + * an error, just that we don't need to
> + * synthesize anything. We really have to
> + * return this more properly and also
> + * propagate errors that now are calling die()
> + */

I believe that this comment is doubly wrong. First we already check
whether evlist has tracepoints before calling the below function.
Secondly I think I got rid of all of the die() calls from the
tracing_data_get/put path.

So I would suggest simply removing this comment block.

Thanks,
Namhyung


> + err = perf_event__synthesize_tracing_data(tool, rec->output, evlist,
> + process_synthesized_event);
> + if (err <= 0) {
> + pr_err("Couldn't record tracing data.\n");
> + return err;
> + }
> + advance_output(rec, err);
> + }
> +
> + return 0;
> +}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/