Messages in this thread | ![/](/images/icornerl.gif) | | From | Ian Rogers <> | Date | Thu, 20 Jul 2023 10:12:21 -0700 | Subject | Re: [PATCH 1/4] arm_pmu: Add PERF_PMU_CAP_EXTENDED_HW_TYPE capability |
| |
On Tue, Jul 11, 2023 at 7:12 AM James Clark <james.clark@arm.com> wrote: > > > > On 11/07/2023 13:01, Anshuman Khandual wrote: > > > > > > On 7/10/23 17:51, James Clark wrote: > >> This capability gives us the ability to open PERF_TYPE_HARDWARE and > >> PERF_TYPE_HW_CACHE events on a specific PMU for free. All the > >> implementation is contained in the Perf core and tool code so no change > >> to the Arm PMU driver is needed. > >> > >> The following basic use case now results in Perf opening the event on > >> all PMUs rather than picking only one in an unpredictable way: > >> > >> $ perf stat -e cycles -- taskset --cpu-list 0,1 stress -c 2 > >> > >> Performance counter stats for 'taskset --cpu-list 0,1 stress -c 2': > >> > >> 963279620 armv8_cortex_a57/cycles/ (99.19%) > >> 752745657 armv8_cortex_a53/cycles/ (94.80%) > >> > >> Fixes: 55bcf6ef314a ("perf: Extend PERF_TYPE_HARDWARE and PERF_TYPE_HW_CACHE") > >> Suggested-by: Ian Rogers <irogers@google.com> > >> Signed-off-by: James Clark <james.clark@arm.com>
Hi ARM Linux and ARM Linux PMU people,
Could this patch be picked up for Linux 6.5? I don't see it in the tree and it seems a shame to have to wait for it. The other patches do cleanup and so waiting for 6.6 seems okay.
Thanks, Ian
> >> --- > >> drivers/perf/arm_pmu.c | 7 ++++++- > >> 1 file changed, 6 insertions(+), 1 deletion(-) > >> > >> diff --git a/drivers/perf/arm_pmu.c b/drivers/perf/arm_pmu.c > >> index 277e29fbd504..d8844a9461a2 100644 > >> --- a/drivers/perf/arm_pmu.c > >> +++ b/drivers/perf/arm_pmu.c > >> @@ -875,8 +875,13 @@ struct arm_pmu *armpmu_alloc(void) > >> * configuration (e.g. big.LITTLE). This is not an uncore PMU, > >> * and we have taken ctx sharing into account (e.g. with our > >> * pmu::filter callback and pmu::event_init group validation). > >> + * > >> + * PERF_PMU_CAP_EXTENDED_HW_TYPE is required to open the legacy > > > > s/legacy/generic ? These hardware events are still around. > > True, I thought I saw it mentioned that way somewhere, but I can > probably just remove it altogether. PERF_TYPE_HARDWARE and > PERF_TYPE_HW_CACHE is enough. > > > > > >> + * PERF_TYPE_HARDWARE and PERF_TYPE_HW_CACHE events on a > >> + * specific PMU. > >> */ > >> - .capabilities = PERF_PMU_CAP_HETEROGENEOUS_CPUS | PERF_PMU_CAP_EXTENDED_REGS, > >> + .capabilities = PERF_PMU_CAP_HETEROGENEOUS_CPUS | PERF_PMU_CAP_EXTENDED_REGS | > >> + PERF_PMU_CAP_EXTENDED_HW_TYPE, > >> }; > >> > >> pmu->attr_groups[ARMPMU_ATTR_GROUP_COMMON] =
| ![\](/images/icornerr.gif) |