perf evsel: Add own_cpus member
perf_evlist__propagate_maps() cannot easily tell if an evsel has its own cpu map. To make that simpler, keep a copy of the PMU cpu map and adjust the propagation logic accordingly. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Acked-by: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@intel.com> Link: http://lkml.kernel.org/r/1441699142-18905-8-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
committed by
Arnaldo Carvalho de Melo
parent
b278c364b3
commit
fce4d296b4
@@ -1111,9 +1111,12 @@ static void perf_evlist__propagate_maps(struct perf_evlist *evlist)
|
||||
* We already have cpus for evsel (via PMU sysfs) so
|
||||
* keep it, if there's no target cpu list defined.
|
||||
*/
|
||||
if (!evsel->cpus || evlist->has_user_cpus) {
|
||||
if (!evsel->own_cpus || evlist->has_user_cpus) {
|
||||
cpu_map__put(evsel->cpus);
|
||||
evsel->cpus = cpu_map__get(evlist->cpus);
|
||||
} else if (evsel->cpus != evsel->own_cpus) {
|
||||
cpu_map__put(evsel->cpus);
|
||||
evsel->cpus = cpu_map__get(evsel->own_cpus);
|
||||
}
|
||||
|
||||
thread_map__put(evsel->threads);
|
||||
|
||||
Reference in New Issue
Block a user