aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-test.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2011-01-30 08:59:43 -0500
committerArnaldo Carvalho de Melo <acme@redhat.com>2011-01-31 09:40:52 -0500
commit7e2ed097538c57ff5268e9a6bced7c0b885809c8 (patch)
tree44f9998cc6054d5bef07d6c2979afb0e81ddf13c /tools/perf/builtin-test.c
parentf8a9530939ed87b9a1b1a038b90e355098b679a2 (diff)
perf evlist: Store pointer to the cpu and thread maps
So that we don't have to pass it around to the several methods that needs it, simplifying usage. There is one case where we don't have the thread/cpu map in advance, which is in the parsing routines used by top, stat, record, that we have to wait till all options are parsed to know if a cpu or thread list was passed to then create those maps. For that case consolidate the cpu and thread map creation via perf_evlist__create_maps() out of the code in top and record, while also providing a perf_evlist__set_maps() for cases where multiple evlists share maps or for when maps that represent CPU sockets, for instance, get crafted out of topology information or subsets of threads in a particular application are to be monitored, providing more granularity in specifying which cpus and threads to monitor. Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Tom Zanussi <tzanussi@gmail.com> LKML-Reference: <new-submission> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/builtin-test.c')
-rw-r--r--tools/perf/builtin-test.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/perf/builtin-test.c b/tools/perf/builtin-test.c
index 845b9bd54ed4..1b2106c58f66 100644
--- a/tools/perf/builtin-test.c
+++ b/tools/perf/builtin-test.c
@@ -509,7 +509,7 @@ static int test__basic_mmap(void)
509 goto out_free_cpus; 509 goto out_free_cpus;
510 } 510 }
511 511
512 evlist = perf_evlist__new(); 512 evlist = perf_evlist__new(cpus, threads);
513 if (evlist == NULL) { 513 if (evlist == NULL) {
514 pr_debug("perf_evlist__new\n"); 514 pr_debug("perf_evlist__new\n");
515 goto out_free_cpus; 515 goto out_free_cpus;
@@ -537,7 +537,7 @@ static int test__basic_mmap(void)
537 } 537 }
538 } 538 }
539 539
540 if (perf_evlist__mmap(evlist, cpus, threads, 128, true) < 0) { 540 if (perf_evlist__mmap(evlist, 128, true) < 0) {
541 pr_debug("failed to mmap events: %d (%s)\n", errno, 541 pr_debug("failed to mmap events: %d (%s)\n", errno,
542 strerror(errno)); 542 strerror(errno));
543 goto out_close_fd; 543 goto out_close_fd;
@@ -579,7 +579,7 @@ static int test__basic_mmap(void)
579 579
580 err = 0; 580 err = 0;
581out_munmap: 581out_munmap:
582 perf_evlist__munmap(evlist, 1); 582 perf_evlist__munmap(evlist);
583out_close_fd: 583out_close_fd:
584 for (i = 0; i < nsyscalls; ++i) 584 for (i = 0; i < nsyscalls; ++i)
585 perf_evsel__close_fd(evsels[i], 1, threads->nr); 585 perf_evsel__close_fd(evsels[i], 1, threads->nr);