Message ID | 20240715160712.127117-7-adrian.hunter@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [V9,01/13] perf/x86/intel/pt: Fix sampling synchronization | expand |
On 7/15/2024 5:07 PM, Adrian Hunter wrote: > > evsel__is_aux_event() identifies AUX area tracing selected events. > > S390_CPUMSF uses a raw event type (PERF_TYPE_RAW - refer > s390_cpumsf_evsel_is_auxtrace()) not a PMU type value that could be checked > in evsel__is_aux_event(). However it sets needs_auxtrace_mmap (refer > auxtrace_record__init()), so check that first. > > Currently, the features that use evsel__is_aux_event() are used only by > Intel PT, but that may change in the future. > > Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> > Acked-by: Ian Rogers <irogers@google.com> > Reviewed-by: Andi Kleen <ak@linux.intel.com> Reviewed-by: Leo Yan <leo.yan@arm.com> > --- > tools/perf/util/pmu.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c > index 986166bc7c78..0b38c51bd6eb 100644 > --- a/tools/perf/util/pmu.c > +++ b/tools/perf/util/pmu.c > @@ -1199,8 +1199,12 @@ void perf_pmu__warn_invalid_formats(struct perf_pmu *pmu) > > bool evsel__is_aux_event(const struct evsel *evsel) > { > - struct perf_pmu *pmu = evsel__find_pmu(evsel); > + struct perf_pmu *pmu; > > + if (evsel->needs_auxtrace_mmap) > + return true; > + > + pmu = evsel__find_pmu(evsel); > return pmu && pmu->auxtrace; > } > > -- > 2.34.1 > >
On 23/07/24 11:26, Leo Yan wrote: > On 7/15/2024 5:07 PM, Adrian Hunter wrote: >> >> evsel__is_aux_event() identifies AUX area tracing selected events. >> >> S390_CPUMSF uses a raw event type (PERF_TYPE_RAW - refer >> s390_cpumsf_evsel_is_auxtrace()) not a PMU type value that could be checked >> in evsel__is_aux_event(). However it sets needs_auxtrace_mmap (refer >> auxtrace_record__init()), so check that first. >> >> Currently, the features that use evsel__is_aux_event() are used only by >> Intel PT, but that may change in the future. >> >> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> >> Acked-by: Ian Rogers <irogers@google.com> >> Reviewed-by: Andi Kleen <ak@linux.intel.com> > > Reviewed-by: Leo Yan <leo.yan@arm.com> Namhyung, could we get patches 5 and 6 from this series applied? They are independent and Leo's new patch set is dependent on patch 5. > >> --- >> tools/perf/util/pmu.c | 6 +++++- >> 1 file changed, 5 insertions(+), 1 deletion(-) >> >> diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c >> index 986166bc7c78..0b38c51bd6eb 100644 >> --- a/tools/perf/util/pmu.c >> +++ b/tools/perf/util/pmu.c >> @@ -1199,8 +1199,12 @@ void perf_pmu__warn_invalid_formats(struct perf_pmu *pmu) >> >> bool evsel__is_aux_event(const struct evsel *evsel) >> { >> - struct perf_pmu *pmu = evsel__find_pmu(evsel); >> + struct perf_pmu *pmu; >> >> + if (evsel->needs_auxtrace_mmap) >> + return true; >> + >> + pmu = evsel__find_pmu(evsel); >> return pmu && pmu->auxtrace; >> } >> >> -- >> 2.34.1 >> >>
On Tue, Jul 23, 2024 at 12:09:46PM +0300, Adrian Hunter wrote: > On 23/07/24 11:26, Leo Yan wrote: > > On 7/15/2024 5:07 PM, Adrian Hunter wrote: > >> > >> evsel__is_aux_event() identifies AUX area tracing selected events. > >> > >> S390_CPUMSF uses a raw event type (PERF_TYPE_RAW - refer > >> s390_cpumsf_evsel_is_auxtrace()) not a PMU type value that could be checked > >> in evsel__is_aux_event(). However it sets needs_auxtrace_mmap (refer > >> auxtrace_record__init()), so check that first. > >> > >> Currently, the features that use evsel__is_aux_event() are used only by > >> Intel PT, but that may change in the future. > >> > >> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> > >> Acked-by: Ian Rogers <irogers@google.com> > >> Reviewed-by: Andi Kleen <ak@linux.intel.com> > > > > Reviewed-by: Leo Yan <leo.yan@arm.com> > > Namhyung, could we get patches 5 and 6 from this series > applied? They are independent and Leo's new patch set is > dependent on patch 5. I'm getting those two into tmp.perf-tools-next, probably should pick the rest as peterz has the kernel bits already in his queue.git/perf/core, right? - Arnaldo > > > >> --- > >> tools/perf/util/pmu.c | 6 +++++- > >> 1 file changed, 5 insertions(+), 1 deletion(-) > >> > >> diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c > >> index 986166bc7c78..0b38c51bd6eb 100644 > >> --- a/tools/perf/util/pmu.c > >> +++ b/tools/perf/util/pmu.c > >> @@ -1199,8 +1199,12 @@ void perf_pmu__warn_invalid_formats(struct perf_pmu *pmu) > >> > >> bool evsel__is_aux_event(const struct evsel *evsel) > >> { > >> - struct perf_pmu *pmu = evsel__find_pmu(evsel); > >> + struct perf_pmu *pmu; > >> > >> + if (evsel->needs_auxtrace_mmap) > >> + return true; > >> + > >> + pmu = evsel__find_pmu(evsel); > >> return pmu && pmu->auxtrace; > >> } > >> > >> -- > >> 2.34.1 > >> > >>
diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c index 986166bc7c78..0b38c51bd6eb 100644 --- a/tools/perf/util/pmu.c +++ b/tools/perf/util/pmu.c @@ -1199,8 +1199,12 @@ void perf_pmu__warn_invalid_formats(struct perf_pmu *pmu) bool evsel__is_aux_event(const struct evsel *evsel) { - struct perf_pmu *pmu = evsel__find_pmu(evsel); + struct perf_pmu *pmu; + if (evsel->needs_auxtrace_mmap) + return true; + + pmu = evsel__find_pmu(evsel); return pmu && pmu->auxtrace; }