aboutsummaryrefslogtreecommitdiff
path: root/tools/lib/perf/include
diff options
context:
space:
mode:
authorGravatar Namhyung Kim <namhyung@kernel.org> 2022-10-03 13:46:44 -0700
committerGravatar Arnaldo Carvalho de Melo <acme@redhat.com> 2022-10-06 08:03:53 -0300
commit7e2450bb756c84cdc2b2668b1036ac105453ed5f (patch)
tree8f49bed257d3100a1c4c545cbb943aa23e04a671 /tools/lib/perf/include
parentlibperf: Populate system-wide evsel maps (diff)
downloadlinux-7e2450bb756c84cdc2b2668b1036ac105453ed5f.tar.gz
linux-7e2450bb756c84cdc2b2668b1036ac105453ed5f.tar.bz2
linux-7e2450bb756c84cdc2b2668b1036ac105453ed5f.zip
libperf: Propagate maps only if necessary
The current code propagate evsel's cpu map settings to evlist when it's added to an evlist. But the evlist->all_cpus and each evsel's cpus will be updated in perf_evlist__set_maps() later. No need to do it before evlist's cpus are set actually. In fact it discards this intermediate all_cpus maps at the beginning of perf_evlist__set_maps(). Let's not do this. It's only needed when an evsel is added after the evlist cpu/thread maps are set. Reviewed-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Leo Yan <leo.yan@linaro.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20221003204647.1481128-3-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/lib/perf/include')
-rw-r--r--tools/lib/perf/include/internal/evlist.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/lib/perf/include/internal/evlist.h b/tools/lib/perf/include/internal/evlist.h
index 6f89aec3e608..850f07070036 100644
--- a/tools/lib/perf/include/internal/evlist.h
+++ b/tools/lib/perf/include/internal/evlist.h
@@ -19,6 +19,7 @@ struct perf_evlist {
int nr_entries;
int nr_groups;
bool has_user_cpus;
+ bool needs_map_propagation;
/**
* The cpus passed from the command line or all online CPUs by
* default.