Commit 1821f4eb authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo
Browse files

perf stat: Add 'struct perf_tool' argument to perf_stat_synthesize_config()



So that we can use the function outside the 'perf stat' command with standard
synthesize functions, that take 'struct perf_tool *' argument.

Signed-off-by: default avatarJiri 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-12-jolsa@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 73d586c3
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -403,12 +403,13 @@ static void workload_exec_failed_signal(int signo __maybe_unused, siginfo_t *inf
}

static int perf_stat_synthesize_config(struct perf_stat_config *config,
				       struct perf_tool *tool,
				       bool attrs)
{
	int err;

	if (attrs) {
		err = perf_event__synthesize_attrs(NULL, evsel_list,
		err = perf_event__synthesize_attrs(tool, evsel_list,
						   process_synthesized_event);
		if (err < 0) {
			pr_err("Couldn't synthesize attrs.\n");
@@ -416,12 +417,12 @@ static int perf_stat_synthesize_config(struct perf_stat_config *config,
		}
	}

	err = perf_event__synthesize_extra_attr(NULL,
	err = perf_event__synthesize_extra_attr(tool,
						evsel_list,
						process_synthesized_event,
						attrs);

	err = perf_event__synthesize_thread_map2(NULL, evsel_list->threads,
	err = perf_event__synthesize_thread_map2(tool, evsel_list->threads,
						process_synthesized_event,
						NULL);
	if (err < 0) {
@@ -429,14 +430,14 @@ static int perf_stat_synthesize_config(struct perf_stat_config *config,
		return err;
	}

	err = perf_event__synthesize_cpu_map(NULL, evsel_list->cpus,
	err = perf_event__synthesize_cpu_map(tool, evsel_list->cpus,
					     process_synthesized_event, NULL);
	if (err < 0) {
		pr_err("Couldn't synthesize thread map.\n");
		return err;
	}

	err = perf_event__synthesize_stat_config(NULL, config,
	err = perf_event__synthesize_stat_config(tool, config,
						 process_synthesized_event, NULL);
	if (err < 0) {
		pr_err("Couldn't synthesize config.\n");
@@ -607,7 +608,7 @@ try_again:
		if (err < 0)
			return err;

		err = perf_stat_synthesize_config(&stat_config, is_pipe);
		err = perf_stat_synthesize_config(&stat_config, NULL, is_pipe);
		if (err < 0)
			return err;
	}