Commit 340c345e authored by Ian Rogers's avatar Ian Rogers Committed by Namhyung Kim
Browse files

perf evsel: Reduce scanning core PMUs in is_hybrid



evsel__is_hybrid returns true if there are multiple core PMUs and the
evsel is for a core PMU. Determining the number of core PMUs can
require loading/scanning PMUs. There's no point doing the scanning if
evsel for the is_hybrid test isn't core so reorder the tests to reduce
PMU scanning.

Signed-off-by: default avatarIan Rogers <irogers@google.com>
Reviewed-by: default avatarKan Liang <kan.liang@linux.intel.com>
Link: https://lore.kernel.org/r/20250201074320.746259-2-irogers@google.com


Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
parent 888751e4
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -3866,10 +3866,10 @@ void evsel__zero_per_pkg(struct evsel *evsel)
 */
bool evsel__is_hybrid(const struct evsel *evsel)
{
	if (perf_pmus__num_core_pmus() == 1)
	if (!evsel->core.is_pmu_core)
		return false;

	return evsel->core.is_pmu_core;
	return perf_pmus__num_core_pmus() > 1;
}

struct evsel *evsel__leader(const struct evsel *evsel)