diff options
author | Jiri Olsa <jolsa@redhat.com> | 2013-09-01 06:36:14 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2013-10-09 10:24:34 -0400 |
commit | b22d54b09a5448d3706929c6f0eae36429f4ec5d (patch) | |
tree | 4e4f20ae238ad857dd6543ab380c24b5ae064725 /tools | |
parent | 27050f530dc4fd88dc93d85c177e000efe970d12 (diff) |
perf evlist: Introduce perf_evlist__new_default function
Adding new common function to create evlist with default event. It
spares some code lines in automated tests.
Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1378031796-17892-4-git-send-email-jolsa@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/perf/tests/perf-record.c | 12 | ||||
-rw-r--r-- | tools/perf/tests/task-exit.c | 14 | ||||
-rw-r--r-- | tools/perf/util/evlist.c | 12 | ||||
-rw-r--r-- | tools/perf/util/evlist.h | 1 |
4 files changed, 16 insertions, 23 deletions
diff --git a/tools/perf/tests/perf-record.c b/tools/perf/tests/perf-record.c index b8a7056519ac..82ac71550091 100644 --- a/tools/perf/tests/perf-record.c +++ b/tools/perf/tests/perf-record.c | |||
@@ -45,7 +45,7 @@ int test__PERF_RECORD(void) | |||
45 | }; | 45 | }; |
46 | cpu_set_t cpu_mask; | 46 | cpu_set_t cpu_mask; |
47 | size_t cpu_mask_size = sizeof(cpu_mask); | 47 | size_t cpu_mask_size = sizeof(cpu_mask); |
48 | struct perf_evlist *evlist = perf_evlist__new(); | 48 | struct perf_evlist *evlist = perf_evlist__new_default(); |
49 | struct perf_evsel *evsel; | 49 | struct perf_evsel *evsel; |
50 | struct perf_sample sample; | 50 | struct perf_sample sample; |
51 | const char *cmd = "sleep"; | 51 | const char *cmd = "sleep"; |
@@ -66,16 +66,6 @@ int test__PERF_RECORD(void) | |||
66 | } | 66 | } |
67 | 67 | ||
68 | /* | 68 | /* |
69 | * We need at least one evsel in the evlist, use the default | ||
70 | * one: "cycles". | ||
71 | */ | ||
72 | err = perf_evlist__add_default(evlist); | ||
73 | if (err < 0) { | ||
74 | pr_debug("Not enough memory to create evsel\n"); | ||
75 | goto out_delete_evlist; | ||
76 | } | ||
77 | |||
78 | /* | ||
79 | * Create maps of threads and cpus to monitor. In this case | 69 | * Create maps of threads and cpus to monitor. In this case |
80 | * we start with all threads and cpus (-1, -1) but then in | 70 | * we start with all threads and cpus (-1, -1) but then in |
81 | * perf_evlist__prepare_workload we'll fill in the only thread | 71 | * perf_evlist__prepare_workload we'll fill in the only thread |
diff --git a/tools/perf/tests/task-exit.c b/tools/perf/tests/task-exit.c index 28fe5894b061..b07f8a14e15d 100644 --- a/tools/perf/tests/task-exit.c +++ b/tools/perf/tests/task-exit.c | |||
@@ -37,20 +37,11 @@ int test__task_exit(void) | |||
37 | signal(SIGCHLD, sig_handler); | 37 | signal(SIGCHLD, sig_handler); |
38 | signal(SIGUSR1, sig_handler); | 38 | signal(SIGUSR1, sig_handler); |
39 | 39 | ||
40 | evlist = perf_evlist__new(); | 40 | evlist = perf_evlist__new_default(); |
41 | if (evlist == NULL) { | 41 | if (evlist == NULL) { |
42 | pr_debug("perf_evlist__new\n"); | 42 | pr_debug("perf_evlist__new_default\n"); |
43 | return -1; | 43 | return -1; |
44 | } | 44 | } |
45 | /* | ||
46 | * We need at least one evsel in the evlist, use the default | ||
47 | * one: "cycles". | ||
48 | */ | ||
49 | err = perf_evlist__add_default(evlist); | ||
50 | if (err < 0) { | ||
51 | pr_debug("Not enough memory to create evsel\n"); | ||
52 | goto out_free_evlist; | ||
53 | } | ||
54 | 45 | ||
55 | /* | 46 | /* |
56 | * Create maps of threads and cpus to monitor. In this case | 47 | * Create maps of threads and cpus to monitor. In this case |
@@ -117,7 +108,6 @@ out_close_evlist: | |||
117 | perf_evlist__close(evlist); | 108 | perf_evlist__close(evlist); |
118 | out_delete_maps: | 109 | out_delete_maps: |
119 | perf_evlist__delete_maps(evlist); | 110 | perf_evlist__delete_maps(evlist); |
120 | out_free_evlist: | ||
121 | perf_evlist__delete(evlist); | 111 | perf_evlist__delete(evlist); |
122 | return err; | 112 | return err; |
123 | } | 113 | } |
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c index d21ab0812926..f0d71a9d49f4 100644 --- a/tools/perf/util/evlist.c +++ b/tools/perf/util/evlist.c | |||
@@ -50,6 +50,18 @@ struct perf_evlist *perf_evlist__new(void) | |||
50 | return evlist; | 50 | return evlist; |
51 | } | 51 | } |
52 | 52 | ||
53 | struct perf_evlist *perf_evlist__new_default(void) | ||
54 | { | ||
55 | struct perf_evlist *evlist = perf_evlist__new(); | ||
56 | |||
57 | if (evlist && perf_evlist__add_default(evlist)) { | ||
58 | perf_evlist__delete(evlist); | ||
59 | evlist = NULL; | ||
60 | } | ||
61 | |||
62 | return evlist; | ||
63 | } | ||
64 | |||
53 | /** | 65 | /** |
54 | * perf_evlist__set_id_pos - set the positions of event ids. | 66 | * perf_evlist__set_id_pos - set the positions of event ids. |
55 | * @evlist: selected event list | 67 | * @evlist: selected event list |
diff --git a/tools/perf/util/evlist.h b/tools/perf/util/evlist.h index 4edb5008fd36..871b55ab5dee 100644 --- a/tools/perf/util/evlist.h +++ b/tools/perf/util/evlist.h | |||
@@ -53,6 +53,7 @@ struct perf_evsel_str_handler { | |||
53 | }; | 53 | }; |
54 | 54 | ||
55 | struct perf_evlist *perf_evlist__new(void); | 55 | struct perf_evlist *perf_evlist__new(void); |
56 | struct perf_evlist *perf_evlist__new_default(void); | ||
56 | void perf_evlist__init(struct perf_evlist *evlist, struct cpu_map *cpus, | 57 | void perf_evlist__init(struct perf_evlist *evlist, struct cpu_map *cpus, |
57 | struct thread_map *threads); | 58 | struct thread_map *threads); |
58 | void perf_evlist__exit(struct perf_evlist *evlist); | 59 | void perf_evlist__exit(struct perf_evlist *evlist); |