diff options
author | Ingo Molnar <mingo@kernel.org> | 2015-06-26 10:38:11 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2015-06-26 10:38:11 +0200 |
commit | 6eedf416429a32e0216f61b8b690d25577b2b91e (patch) | |
tree | cdd0474142283a269c2e05e31128d382418fab28 /tools/perf/util/thread_map.h | |
parent | Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kerne... (diff) | |
parent | perf tools: Make perf_evsel__(nr_)cpus generic (diff) | |
download | linux-6eedf416429a32e0216f61b8b690d25577b2b91e.tar.xz linux-6eedf416429a32e0216f61b8b690d25577b2b91e.zip |
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
Pull perf/core improvements and refactorings from Arnaldo Carvalho de Melo:
Infrastructure changes:
- Reference count the cpu_map and thread_map classes. (Jiri Olsa)
- Set evsel->{cpus,threads} from the evlist, if not set,
allowing the generalization of some 'perf stat' functions that
previously were accessing private static evlist variable. (Jiri Olsa)
- Delete an unnecessary check before the calling
free_event_desc() (Markus Elfring)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/util/thread_map.h')
-rw-r--r-- | tools/perf/util/thread_map.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tools/perf/util/thread_map.h b/tools/perf/util/thread_map.h index b9f40679f589..6b0cd2dc006b 100644 --- a/tools/perf/util/thread_map.h +++ b/tools/perf/util/thread_map.h @@ -3,12 +3,14 @@ #include <sys/types.h> #include <stdio.h> +#include <linux/atomic.h> struct thread_map_data { pid_t pid; }; struct thread_map { + atomic_t refcnt; int nr; struct thread_map_data map[]; }; @@ -19,11 +21,12 @@ struct thread_map *thread_map__new_by_tid(pid_t tid); struct thread_map *thread_map__new_by_uid(uid_t uid); struct thread_map *thread_map__new(pid_t pid, pid_t tid, uid_t uid); +struct thread_map *thread_map__get(struct thread_map *map); +void thread_map__put(struct thread_map *map); + struct thread_map *thread_map__new_str(const char *pid, const char *tid, uid_t uid); -void thread_map__delete(struct thread_map *threads); - size_t thread_map__fprintf(struct thread_map *threads, FILE *fp); static inline int thread_map__nr(struct thread_map *threads) |