[PATCH v5 2/2] perf: Fujitsu: Add the Uncore PCI PMU driver

Mark Rutland mark.rutland at arm.com
Mon Jul 14 06:32:31 PDT 2025


On Tue, Jul 01, 2025 at 06:13:57AM +0000, Koichi Okuno (Fujitsu) wrote:
> Hi, Peter
> 
> Sorry for the late reply.
> 
> > On Tue, Jun 17, 2025 at 07:27:50PM +0900, Koichi Okuno wrote:
> > > +	pcipmu->pmu = (struct pmu) {
> > > +		.parent		= dev,
> > > +		.task_ctx_nr	= perf_invalid_context,
> > > +
> > > +		.pmu_enable	= fujitsu_pci__pmu_enable,
> > > +		.pmu_disable	= fujitsu_pci__pmu_disable,
> > > +		.event_init	= fujitsu_pci__event_init,
> > > +		.add		= fujitsu_pci__event_add,
> > > +		.del		= fujitsu_pci__event_del,
> > > +		.start		= fujitsu_pci__event_start,
> > > +		.stop		= fujitsu_pci__event_stop,
> > > +		.read		= fujitsu_pci__event_read,
> > > +
> > > > +		.attr_groups	= fujitsu_pci_pmu_attr_grps,
> > > +		.capabilities	= PERF_PMU_CAP_NO_EXCLUDE,
> > 
> > Should these drivers not also have PERF_PMU_CAP_NO_INTERRUPT ? Per them
> > being uncore they cannot generate samples.
> 
> Even now, the fujitsu_pci__event_init() function rejects sampling events
> before checking PERF_PMU_CAP_NO_INTERRUPT in core.c.
> However, I think it is correct to have PERF_PMU_CAP_NO_INTERRUPT which
> means not being able to sample, so I will add NO_INTERRUPT in the next
> version.

Sorry to give contradictory feeback, but given that the majority of PMU
drivers under drivers/perf/ don't set PERF_PMU_CAP_NO_INTERRUPT, and
explicitly reject sampling events, I'd prefer to do the same for
consistency.

Peter, are you happy with that for now?

Overall it would be better for PMUs to export a positive "I support
sampling" flag, and maybe rename/replace PERF_PMU_CAP_NO_INTERRUPT
accordingly, which I'd be happy to look at in future.

Mark.



More information about the linux-arm-kernel mailing list