Re: [PATCH V1 RESEND 1/3] perf/imx_ddr: Add system PMU identifier for userspace

From: Rob Herring
Date: Wed May 20 2020 - 11:24:02 EST


On Wed, May 20, 2020 at 1:33 AM Will Deacon <will@xxxxxxxxxx> wrote:
>
> On Tue, May 19, 2020 at 12:51:25PM -0600, Rob Herring wrote:
> > On Tue, May 12, 2020 at 03:31:13PM +0800, Joakim Zhang wrote:
> > > +static ssize_t ddr_perf_identifier_show(struct device *dev,
> > > + struct device_attribute *attr,
> > > + char *page)
> > > +{
> > > + struct ddr_pmu *pmu = dev_get_drvdata(dev);
> > > +
> > > + return sprintf(page, "%s\n", pmu->devtype_data->identifier);
> >
> > Why do we need yet another way to identify the SoC from userspace?
>
> I also really dislike this. What's the preferred way to identify the SoC
> from userspace?

/proc/cpuinfo? ;)

For an non-firmware specific case, I'd say soc_device should be. I'd
guess ACPI systems don't use it and for them it's dmidecode typically.
The other problem I have with soc_device is it is optional.

> It's needed so that the perf userspace tool can describe
> perf events that are supported for the PMU, as this isn't probe-able
> directly from the hardware. We have the same issue with the SMMUv3 PMCG [1],
> and so we need to solve the problem for both DT and ACPI.
>
> Will
>
> [1] https://lore.kernel.org/r/1587120634-19666-1-git-send-email-john.garry@xxxxxxxxxx

At a minimum, it seems like 'identifier' should be moved into the perf
core if that's an attr we want to keep.

Rob