mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: "Liang, Kan" <kan.liang@linux.intel.com>
Cc: "Sudarikov, Roman" <roman.sudarikov@linux.intel.com>,
	Andi Kleen <ak@linux.intel.com>,
	peterz@infradead.org, mingo@redhat.com, acme@kernel.org,
	mark.rutland@arm.com, alexander.shishkin@linux.intel.com,
	jolsa@redhat.com, namhyung@kernel.org,
	linux-kernel@vger.kernel.org, eranian@google.com,
	bgregg@netflix.com, alexander.antonov@intel.com
Subject: Re: [PATCH v5 3/3] perf x86: Exposing an Uncore unit to PMON for Intel Xeon® server platform
Date: Wed, 12 Feb 2020 14:56:03 -0800	[thread overview]
Message-ID: <20200212225603.GA2489060@kroah.com> (raw)
In-Reply-To: <323e0892-d34f-a812-4d9a-e7a4bf71afd2@linux.intel.com>

On Wed, Feb 12, 2020 at 03:58:50PM -0500, Liang, Kan wrote:
> 
> 
> On 2/12/2020 12:31 PM, Sudarikov, Roman wrote:
> > On 11.02.2020 23:14, Greg KH wrote:
> > > On Tue, Feb 11, 2020 at 02:59:21PM -0500, Liang, Kan wrote:
> > > > 
> > > > On 2/11/2020 1:57 PM, Greg KH wrote:
> > > > > On Tue, Feb 11, 2020 at 10:42:00AM -0800, Andi Kleen wrote:
> > > > > > 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@linux.intel.com 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?
> > > > 
> > > > I think Roman only test with BIOS configured as single-segment. So he
> > > > hard-code the segment# here.
> > > > 
> > > > I'm not sure if Roman can do some test with multiple-segment
> > > > BIOS. If not, I
> > > > think we should at least print a warning here.
> > > > 
> > > > > > > What is ever going to cause that to change?
> > > > > > I think it's just to make it a complete PCI address.
> > > > > Is that what this really is?  If so, it's not a "complete" pci address,
> > > > > is it?  If it is, use the real pci address please.
> > > > I think we don't need a complete PCI address here. The attr is
> > > > to disclose
> > > > the mapping information between die and PCI BUS. Segment:BUS
> > > > should be good
> > > > enough.
> > > "good enough" for today, but note that you can not change the format of
> > > the data in the file in the future, you would have to create a new file.
> > > So I suggest at least try to future-proof it as much as possible if you
> > > _know_ this could change.
> > > 
> > > Just use the full pci address, there's no reason not to, otherwise it's
> > > just confusing.
> > > 
> > > thanks,
> > > 
> > > greg k-h
> > Hi Greg,
> > 
> > Yes, the "Segment:Bus" pair is enough to distinguish between different
> > Root ports.
> 
> I think Greg suggests us to use full PCI address here.
> 
> Hi Greg,
> 
> There may be several devices are connected to IIO stack. There is no full
> PCI address for IIO stack.

Please define "full" for me.  Please please don't tell me you are just
using a truncated version of the PCI address.  I thought we got rid of
all of that nonsense 10 years ago...

> I don't think we can list all of devices in the same IIO stack with full PCI
> address here either. It's not necessary, and only increase maintenance
> overhead.

Then what exactly _IS_ this number, if not the PCI address?

Something made up to look almost like a PCI address, but not quite?
Somethine else?

> I think we may have two options here.
> 
> Option 1: Roman's proposal.The format of the file is "Segment:Bus". For the
> future I can see, the format doesn't need to be changed.
>     E.g. $ls /sys/devices/uncore_<type>_<pmu_idx>/die0
>          $0000:7f

Again, fake PCI address?

> Option 2: Use full PCI address, but use -1 to indicate invalid address.
>     E.g. $ls /sys/devices/uncore_<type>_<pmu_idx>/die0
>          $0000:7f:-1:-1

"Invalid"?  Why?  Why not just refer to the 0:0 device, as that's the
bus "root" address (or whatever it's called, I can't remember PCI stuff
all that well...)

> Should we use the format in option 2?

What could userspace do with a -1 -1 address?

thanks,

greg k-h

  reply	other threads:[~2020-02-12 22:56 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-11 16:15 [PATCH v5 0/3] perf x86: Exposing IO stack to IO PMON mapping through sysfs roman.sudarikov
2020-02-11 16:15 ` [PATCH v5 1/3] perf x86: Infrastructure for exposing an Uncore unit to PMON mapping roman.sudarikov
2020-02-11 16:15 ` [PATCH v5 2/3] perf x86: topology max dies for whole system roman.sudarikov
2020-02-11 16:15 ` [PATCH v5 3/3] perf x86: Exposing an Uncore unit to PMON for Intel Xeon® server platform roman.sudarikov
2020-02-11 17:15   ` Greg KH
2020-02-11 18:42     ` Andi Kleen
2020-02-11 18:57       ` Greg KH
2020-02-11 19:59         ` Liang, Kan
2020-02-11 20:14           ` Greg KH
2020-02-12 17:31             ` Sudarikov, Roman
2020-02-12 20:58               ` Liang, Kan
2020-02-12 22:56                 ` Greg KH [this message]
2020-02-13 12:36                   ` Sudarikov, Roman
2020-02-13 13:08                     ` Greg KH
2020-02-11 17:18   ` Greg KH
2020-02-11 20:09   ` Liang, Kan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200212225603.GA2489060@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=acme@kernel.org \
    --cc=ak@linux.intel.com \
    --cc=alexander.antonov@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=bgregg@netflix.com \
    --cc=eranian@google.com \
    --cc=jolsa@redhat.com \
    --cc=kan.liang@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=roman.sudarikov@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome