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

libperf: Add threads to struct perf_evsel



Move 'threads' from tools/perf's evsel to libperf's perf_evsel struct.

Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20190721112506.12306-53-jolsa@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent fe1f61b3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -739,7 +739,7 @@ static int record__open(struct record *rec)

	evlist__for_each_entry(evlist, pos) {
try_again:
		if (evsel__open(pos, pos->core.cpus, pos->threads) < 0) {
		if (evsel__open(pos, pos->core.cpus, pos->core.threads) < 0) {
			if (perf_evsel__fallback(pos, errno, msg, sizeof(msg))) {
				if (verbose > 0)
					ui__warning("%s\n", msg);
+2 −2
Original line number Diff line number Diff line
@@ -1899,7 +1899,7 @@ static struct scripting_ops *scripting_ops;

static void __process_stat(struct evsel *counter, u64 tstamp)
{
	int nthreads = thread_map__nr(counter->threads);
	int nthreads = thread_map__nr(counter->core.threads);
	int ncpus = perf_evsel__nr_cpus(counter);
	int cpu, thread;
	static int header_printed;
@@ -1921,7 +1921,7 @@ static void __process_stat(struct evsel *counter, u64 tstamp)

			printf("%3d %8d %15" PRIu64 " %15" PRIu64 " %15" PRIu64 " %15" PRIu64 " %s\n",
				counter->core.cpus->map[cpu],
				thread_map__pid(counter->threads, thread),
				thread_map__pid(counter->core.threads, thread),
				counts->val,
				counts->ena,
				counts->run,
+2 −0
Original line number Diff line number Diff line
@@ -6,12 +6,14 @@
#include <linux/perf_event.h>

struct perf_cpu_map;
struct perf_thread_map;

struct perf_evsel {
	struct list_head	 node;
	struct perf_event_attr	 attr;
	struct perf_cpu_map	*cpus;
	struct perf_cpu_map	*own_cpus;
	struct perf_thread_map	*threads;
};

#endif /* __LIBPERF_INTERNAL_EVSEL_H */
+3 −3
Original line number Diff line number Diff line
@@ -167,8 +167,8 @@ static void __perf_evlist__propagate_maps(struct evlist *evlist,
		evsel->core.cpus = perf_cpu_map__get(evsel->core.own_cpus);
	}

	perf_thread_map__put(evsel->threads);
	evsel->threads = perf_thread_map__get(evlist->threads);
	perf_thread_map__put(evsel->core.threads);
	evsel->core.threads = perf_thread_map__get(evlist->threads);
}

static void perf_evlist__propagate_maps(struct evlist *evlist)
@@ -1407,7 +1407,7 @@ int evlist__open(struct evlist *evlist)
	perf_evlist__update_id_pos(evlist);

	evlist__for_each_entry(evlist, evsel) {
		err = evsel__open(evsel, evsel->core.cpus, evsel->threads);
		err = evsel__open(evsel, evsel->core.cpus, evsel->core.threads);
		if (err < 0)
			goto out_err;
	}
+2 −2
Original line number Diff line number Diff line
@@ -1327,7 +1327,7 @@ void perf_evsel__exit(struct evsel *evsel)
	cgroup__put(evsel->cgrp);
	perf_cpu_map__put(evsel->core.cpus);
	perf_cpu_map__put(evsel->core.own_cpus);
	perf_thread_map__put(evsel->threads);
	perf_thread_map__put(evsel->core.threads);
	zfree(&evsel->group_name);
	zfree(&evsel->name);
	perf_evsel__object.fini(evsel);
@@ -3065,7 +3065,7 @@ static int store_evsel_ids(struct evsel *evsel, struct evlist *evlist)
int perf_evsel__store_ids(struct evsel *evsel, struct evlist *evlist)
{
	struct perf_cpu_map *cpus = evsel->core.cpus;
	struct perf_thread_map *threads = evsel->threads;
	struct perf_thread_map *threads = evsel->core.threads;

	if (perf_evsel__alloc_id(evsel, cpus->nr, threads->nr))
		return -ENOMEM;
Loading