OSDN Git Service

perf stat: Add 'struct perf_stat_config' argument to perf_stat_synthesize_config()
authorJiri Olsa <jolsa@kernel.org>
Thu, 30 Aug 2018 06:32:19 +0000 (08:32 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 30 Aug 2018 18:52:22 +0000 (15:52 -0300)
Add a 'struct perf_stat_config' argument to perf_stat_synthesize_config(),
so we could synthesize arbitrary config.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180830063252.23729-11-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-stat.c

index 0a358c2..d0d19a5 100644 (file)
@@ -402,7 +402,8 @@ static void workload_exec_failed_signal(int signo __maybe_unused, siginfo_t *inf
        workload_exec_errno = info->si_value.sival_int;
 }
 
-static int perf_stat_synthesize_config(bool attrs)
+static int perf_stat_synthesize_config(struct perf_stat_config *config,
+                                      bool attrs)
 {
        int err;
 
@@ -435,7 +436,7 @@ static int perf_stat_synthesize_config(bool attrs)
                return err;
        }
 
-       err = perf_event__synthesize_stat_config(NULL, &stat_config,
+       err = perf_event__synthesize_stat_config(NULL, config,
                                                 process_synthesized_event, NULL);
        if (err < 0) {
                pr_err("Couldn't synthesize config.\n");
@@ -606,7 +607,7 @@ try_again:
                if (err < 0)
                        return err;
 
-               err = perf_stat_synthesize_config(is_pipe);
+               err = perf_stat_synthesize_config(&stat_config, is_pipe);
                if (err < 0)
                        return err;
        }