perf evlist: Store pointer to the cpu and thread maps
authorArnaldo Carvalho de Melo <acme@redhat.com>
Sun, 30 Jan 2011 13:59:43 +0000 (11:59 -0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 31 Jan 2011 14:40:52 +0000 (12:40 -0200)
commit7e2ed097538c57ff5268e9a6bced7c0b885809c8
tree44f9998cc6054d5bef07d6c2979afb0e81ddf13c
parentf8a9530939ed87b9a1b1a038b90e355098b679a2
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>
tools/perf/builtin-record.c
tools/perf/builtin-stat.c
tools/perf/builtin-test.c
tools/perf/builtin-top.c
tools/perf/python/twatch.py
tools/perf/util/evlist.c
tools/perf/util/evlist.h
tools/perf/util/python.c