perf thread_map: Create dummy constructor out of open coded equivalent
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: 641556c98c821922a9a2121247b5fa25e4407d11 Gitweb: http://git.kernel.org/tip/641556c98c821922a9a2121247b5fa25e4407d11 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Fri, 10 Oct 2014 12:03:46 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Tue, 14 Oct 2014 17:32:52 -0300
perf thread_map: Create dummy constructor out of open coded equivalent
Create a dummy thread_map, one that has just one entry and it is -1, meaning 'all threads', as this ends up going down to perf_event_open().
Cc Adrian Hunter <[email protected]>
Cc Borislav Petkov <[email protected]>
Cc David Ahern <[email protected]>
Cc Don Zickus <[email protected]>
Cc Frederic Weisbecker <[email protected]>
Cc Jean Pihet <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Mike Galbraith <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Paul Mackerras <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Stephane Eranian <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/util/thread_map.c | 21 +++++++++++++-------- tools/perf/util/thread_map.h | 1 + 2 files changed, 14 insertions(+), 8 deletions(-)
tools/perf/util/thread_map.c +13 -8
@@ -214,6 +214,17 @@ out_free_threads: goto out; } +struct thread_map *thread_map__new_dummy (void ) +{ +struct thread_map *threads =malloc (sizeof (*threads) +sizeof (pid_t)); + +if (threads !=NULL ) { + threads->map[0 ] =-1 ; + threads->nr =1 ; + } +return threads; +} +static struct thread_map *thread_map__new_by_tid_str (const char *tid_str) {struct thread_map *threads =NULL , *nt;
@@ -224,14 +235,8 @@ static struct thread_map *thread_map__new_by_tid_str(const char *tid_str)struct strlist *slist;/* perf-stat expects threads to be generated even if tid not given */ -if (!tid_str) { - threads =malloc (sizeof (*threads) +sizeof (pid_t)); -if (threads !=NULL ) { - threads->map[0 ] =-1 ; - threads->nr =1 ; - } -return threads; - } +if (!tid_str) +return thread_map__new_dummy (); slist =strlist__new (false, tid_str);if (!slist)
tools/perf/util/thread_map.h +1 -0
@@ -9,6 +9,7 @@ struct thread_map {pid_t map[]; }; +struct thread_map *thread_map__new_dummy (void );struct thread_map *thread_map__new_by_pid (pid_t pid);struct thread_map *thread_map__new_by_tid (pid_t tid);struct thread_map *thread_map__new_by_uid (uid_t uid);