perf intel-pt: Fix system_wide dummy event for hybrid
authorAdrian Hunter <adrian.hunter@intel.com>
Wed, 12 Oct 2022 08:22:59 +0000 (11:22 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Sat, 15 Oct 2022 13:13:16 +0000 (10:13 -0300)
User space tasks can migrate between CPUs, so when tracing selected CPUs,
system-wide sideband is still needed, however evlist->core.has_user_cpus
is not set in the hybrid case, so check the target cpu_list instead.

Fixes: 7d189cadbeebc778 ("perf intel-pt: Track sideband system-wide when needed")
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20221012082259.22394-3-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/arch/x86/util/intel-pt.c

index 793b35f..af102f4 100644 (file)
@@ -866,7 +866,7 @@ static int intel_pt_recording_options(struct auxtrace_record *itr,
                 * User space tasks can migrate between CPUs, so when tracing
                 * selected CPUs, sideband for all CPUs is still needed.
                 */
-               need_system_wide_tracking = evlist->core.has_user_cpus &&
+               need_system_wide_tracking = opts->target.cpu_list &&
                                            !intel_pt_evsel->core.attr.exclude_user;
 
                tracking_evsel = evlist__add_aux_dummy(evlist, need_system_wide_tracking);