Re: [PATCH v5 3/3] perf x86: Exposing an Uncore unit to PMON for Intel Xeon® server platform

From: Andi Kleen
Date: Tue Feb 11 2020 - 13:42:03 EST


On Tue, Feb 11, 2020 at 09:15:44AM -0800, Greg KH wrote:
> On Tue, Feb 11, 2020 at 07:15:49PM +0300, roman.sudarikov@xxxxxxxxxxxxxxx wrote:
> > +static ssize_t skx_iio_mapping_show(struct device *dev,
> > + struct device_attribute *attr, char *buf)
> > +{
> > + struct pmu *pmu = dev_get_drvdata(dev);
> > + struct intel_uncore_pmu *uncore_pmu =
> > + container_of(pmu, struct intel_uncore_pmu, pmu);
> > +
> > + struct dev_ext_attribute *ea =
> > + container_of(attr, struct dev_ext_attribute, attr);
> > + long die = (long)ea->var;
> > +
> > + return sprintf(buf, "0000:%02x\n", skx_iio_stack(uncore_pmu, die));
>
> If "0000:" is always the "prefix" of the output of this file, why have
> it at all as you always know it is there?
>
> What is ever going to cause that to change?

I think it's just to make it a complete PCI address.

In theory it might be different on a complex multi node system with
custom interconnect and multiple PCI segments, but that would need code
changes too.

This version of the patchkit only supports standard SKX systems
at this point.

-Andi