Re: [PATCH v2 1/9] perf/cxl: Program the requested event group on configurable counters
Jonathan Cameron <[email protected]> Wed, 29 Jul 2026 23:29:27 +0100
| Newsgroups | org.kernel.vger.linux-cxl,org.kernel.vger.linux-perf-users |
|---|---|
| Message-ID | <20260729232927.0ebdffff@jic23-huawei> |
On Wed, 29 Jul 2026 07:55:47 -0700 Dave Jiang <[email protected]> wrote: > cxl_pmu_get_event_idx() sets *counter_idx for a configurable counter but > never sets *event_idx, so hwc->event_base stays 0 and cxl_pmu_event_start() > programs event group 0 regardless of the group the user requested. > > Return the matched capability's event_idx. > > Fixes: 5d7107c72796 ("perf: CXL Performance Monitoring Unit driver") > Reported-by: [email protected] > Closes: https://sashiko.dev/#/patchset/[email protected]?part=1 > Assisted-by: Claude:claude-opus-4-8 > Signed-off-by: Dave Jiang <[email protected]> One minor thing. Otherwise LGTM Reviewed-by: Jonathan Cameron <[email protected]> > --- > drivers/perf/cxl_pmu.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/perf/cxl_pmu.c b/drivers/perf/cxl_pmu.c > index 68a54d97d2a8..e77c0650a7eb 100644 > --- a/drivers/perf/cxl_pmu.c > +++ b/drivers/perf/cxl_pmu.c > @@ -552,6 +552,8 @@ static int cxl_pmu_get_event_idx(struct perf_event *event, int *counter_idx, > return -EINVAL; > > *counter_idx = i; > + if (event_idx) Hmm. We never want to get counter_idx and not event_idx. Perhaps add this check to the one for counter_idx at the top of this scope. > + *event_idx = pmu_ev->event_idx; > return 0; > } >