All of lore.kernel.org
 help / color / mirror / Atom feed
From: jan.glauber@caviumnetworks.com (Jan Glauber)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v8 1/3] perf: cavium: Support memory controller PMU counters
Date: Wed, 26 Jul 2017 15:10:58 +0200	[thread overview]
Message-ID: <20170726131058.GA8665@hc> (raw)
In-Reply-To: <faa339c4-b087-d970-1099-3d6cf8186545@arm.com>

On Wed, Jul 26, 2017 at 01:47:35PM +0100, Suzuki K Poulose wrote:
> On 26/07/17 12:19, Jan Glauber wrote:
> >On Tue, Jul 25, 2017 at 04:39:18PM +0100, Suzuki K Poulose wrote:
> >>On 25/07/17 16:04, Jan Glauber wrote:
> >>>Add support for the PMU counters on Cavium SOC memory controllers.
> >>>
> >>>This patch also adds generic functions to allow supporting more
> >>>devices with PMU counters.
> >>>
> >>>Properties of the LMC PMU counters:
> >>>- not stoppable
> >>>- fixed purpose
> >>>- read-only
> >>>- one PCI device per memory controller
> >>>
> >>>Signed-off-by: Jan Glauber <jglauber@cavium.com>
> >>>---
> >>>drivers/perf/Kconfig       |   8 +
> >>>drivers/perf/Makefile      |   1 +
> >>>drivers/perf/cavium_pmu.c  | 424 +++++++++++++++++++++++++++++++++++++++++++++
> >>>include/linux/cpuhotplug.h |   1 +
> >>>4 files changed, 434 insertions(+)
> >>>create mode 100644 drivers/perf/cavium_pmu.c
> >>>
> >>>diff --git a/drivers/perf/Kconfig b/drivers/perf/Kconfig
> >>>index e5197ff..a46c3f0 100644
> >>>--- a/drivers/perf/Kconfig
> >>>+++ b/drivers/perf/Kconfig
> >>>@@ -43,4 +43,12 @@ config XGENE_PMU
> >>>        help
> >>>          Say y if you want to use APM X-Gene SoC performance monitors.
> >>>
> >>>+config CAVIUM_PMU
> >>>+	bool "Cavium SOC PMU"
> >>
> >>Is there any specific reason why this can't be built as a module ?
> >
> >Yes. I don't know how to load the module automatically. I can't make it
> >a pci driver as the EDAC driver "owns" the device (and having two
> >drivers for one device wont work as far as I know). I tried to hook
> >into the EDAC driver but the EDAC maintainer was not overly welcoming
> >that approach.
> 
> >
> >And while it would be possible to have it a s a module I think it is of
> >no use if it requires manualy loading. But maybe there is a simple
> >solution I'm missing here?
> 
> 
> If you are talking about a Cavium specific EDAC driver, may be we could
> make that depend on this driver "at runtime" via symbols (may be even,
> trigger the probe of PMU), which will be referenced only when CONFIG_CAVIUM_PMU
> is defined. It is not the perfect solution, but that should do the trick.

I think that is roughly what I proposed in v6. Can you have a look at:

https://lkml.org/lkml/2017/6/23/333
https://patchwork.kernel.org/patch/9806427/

Probably there is a better way to do it. Or maybe we just keep it as
built-in for the time being.

--Jan

WARNING: multiple messages have this Message-ID (diff)
From: Jan Glauber <jan.glauber@caviumnetworks.com>
To: Suzuki K Poulose <Suzuki.Poulose@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v8 1/3] perf: cavium: Support memory controller PMU counters
Date: Wed, 26 Jul 2017 15:10:58 +0200	[thread overview]
Message-ID: <20170726131058.GA8665@hc> (raw)
In-Reply-To: <faa339c4-b087-d970-1099-3d6cf8186545@arm.com>

On Wed, Jul 26, 2017 at 01:47:35PM +0100, Suzuki K Poulose wrote:
> On 26/07/17 12:19, Jan Glauber wrote:
> >On Tue, Jul 25, 2017 at 04:39:18PM +0100, Suzuki K Poulose wrote:
> >>On 25/07/17 16:04, Jan Glauber wrote:
> >>>Add support for the PMU counters on Cavium SOC memory controllers.
> >>>
> >>>This patch also adds generic functions to allow supporting more
> >>>devices with PMU counters.
> >>>
> >>>Properties of the LMC PMU counters:
> >>>- not stoppable
> >>>- fixed purpose
> >>>- read-only
> >>>- one PCI device per memory controller
> >>>
> >>>Signed-off-by: Jan Glauber <jglauber@cavium.com>
> >>>---
> >>>drivers/perf/Kconfig       |   8 +
> >>>drivers/perf/Makefile      |   1 +
> >>>drivers/perf/cavium_pmu.c  | 424 +++++++++++++++++++++++++++++++++++++++++++++
> >>>include/linux/cpuhotplug.h |   1 +
> >>>4 files changed, 434 insertions(+)
> >>>create mode 100644 drivers/perf/cavium_pmu.c
> >>>
> >>>diff --git a/drivers/perf/Kconfig b/drivers/perf/Kconfig
> >>>index e5197ff..a46c3f0 100644
> >>>--- a/drivers/perf/Kconfig
> >>>+++ b/drivers/perf/Kconfig
> >>>@@ -43,4 +43,12 @@ config XGENE_PMU
> >>>        help
> >>>          Say y if you want to use APM X-Gene SoC performance monitors.
> >>>
> >>>+config CAVIUM_PMU
> >>>+	bool "Cavium SOC PMU"
> >>
> >>Is there any specific reason why this can't be built as a module ?
> >
> >Yes. I don't know how to load the module automatically. I can't make it
> >a pci driver as the EDAC driver "owns" the device (and having two
> >drivers for one device wont work as far as I know). I tried to hook
> >into the EDAC driver but the EDAC maintainer was not overly welcoming
> >that approach.
> 
> >
> >And while it would be possible to have it a s a module I think it is of
> >no use if it requires manualy loading. But maybe there is a simple
> >solution I'm missing here?
> 
> 
> If you are talking about a Cavium specific EDAC driver, may be we could
> make that depend on this driver "at runtime" via symbols (may be even,
> trigger the probe of PMU), which will be referenced only when CONFIG_CAVIUM_PMU
> is defined. It is not the perfect solution, but that should do the trick.

I think that is roughly what I proposed in v6. Can you have a look at:

https://lkml.org/lkml/2017/6/23/333
https://patchwork.kernel.org/patch/9806427/

Probably there is a better way to do it. Or maybe we just keep it as
built-in for the time being.

--Jan

  reply	other threads:[~2017-07-26 13:10 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-25 15:04 [PATCH v8 0/3] Cavium ARM64 uncore PMU support Jan Glauber
2017-07-25 15:04 ` Jan Glauber
2017-07-25 15:04 ` [PATCH v8 1/3] perf: cavium: Support memory controller PMU counters Jan Glauber
2017-07-25 15:04   ` Jan Glauber
2017-07-25 15:39   ` Suzuki K Poulose
2017-07-25 15:39     ` Suzuki K Poulose
2017-07-26 11:19     ` Jan Glauber
2017-07-26 11:19       ` Jan Glauber
2017-07-26 12:47       ` Suzuki K Poulose
2017-07-26 12:47         ` Suzuki K Poulose
2017-07-26 13:10         ` Jan Glauber [this message]
2017-07-26 13:10           ` Jan Glauber
2017-07-26 14:35           ` Suzuki K Poulose
2017-07-26 14:35             ` Suzuki K Poulose
2017-07-26 14:55             ` Borislav Petkov
2017-07-26 14:55               ` Borislav Petkov
2017-07-26 15:13               ` Jan Glauber
2017-07-26 15:13                 ` Jan Glauber
2017-07-26 15:17                 ` Suzuki K Poulose
2017-07-26 15:17                   ` Suzuki K Poulose
2017-07-26 15:28                   ` Borislav Petkov
2017-07-26 15:28                     ` Borislav Petkov
2017-07-26 15:46                   ` Jan Glauber
2017-07-26 15:46                     ` Jan Glauber
2017-07-26 16:25                     ` Jonathan Cameron
2017-07-26 16:25                       ` Jonathan Cameron
2017-07-26 16:40                       ` Jan Glauber
2017-07-26 16:40                         ` Jan Glauber
2017-07-26 15:35                 ` Borislav Petkov
2017-07-26 15:35                   ` Borislav Petkov
2017-07-26 15:45                   ` Jan Glauber
2017-07-26 15:45                     ` Jan Glauber
2017-07-26 15:55                     ` Borislav Petkov
2017-07-26 15:55                       ` Borislav Petkov
2017-07-26 16:19                       ` Greg KH
2017-07-26 16:19                         ` Greg KH
2017-07-26 16:30                         ` Borislav Petkov
2017-07-26 16:30                           ` Borislav Petkov
2017-07-26 17:33                           ` Greg KH
2017-07-26 17:33                             ` Greg KH
2017-07-26 17:33                             ` Greg KH
2017-07-26 20:02                             ` David Daney
2017-07-26 20:02                               ` David Daney
2017-07-26 20:02                               ` David Daney
2017-07-26 20:08                               ` Greg KH
2017-07-26 20:08                                 ` Greg KH
2017-07-26 21:02                                 ` David Daney
2017-07-26 21:02                                   ` David Daney
2017-07-26 21:02                                   ` David Daney
2017-07-27  2:29                                   ` Greg KH
2017-07-27  2:29                                     ` Greg KH
2017-07-27  2:29                                     ` Greg KH
2017-07-27 17:29                                     ` David Daney
2017-07-27 17:29                                       ` David Daney
2017-07-27 17:29                                       ` David Daney
2017-07-28  1:11                                       ` Greg KH
2017-07-28  1:11                                         ` Greg KH
2017-07-28  1:11                                         ` Greg KH
2017-07-28  7:23                                         ` Borislav Petkov
2017-07-28  7:23                                           ` Borislav Petkov
2017-07-28  7:23                                           ` Borislav Petkov
2017-07-27  5:11                                   ` Borislav Petkov
2017-07-27  5:11                                     ` Borislav Petkov
2017-07-27  5:11                                     ` Borislav Petkov
2017-07-27  9:08                                     ` Jan Glauber
2017-07-27  9:08                                       ` Jan Glauber
2017-07-27  9:08                                       ` Jan Glauber
2017-07-27 13:15                                       ` Borislav Petkov
2017-07-27 13:15                                         ` Borislav Petkov
2017-07-28 23:12                                         ` Greg KH
2017-07-28 23:12                                           ` Greg KH
2017-07-28 23:12                                           ` Greg KH
2017-08-08 13:25                                           ` Will Deacon
2017-08-08 13:25                                             ` Will Deacon
2017-08-08 13:25                                             ` Will Deacon
2017-08-15  9:13                                             ` Jan Glauber
2017-08-15  9:13                                               ` Jan Glauber
2017-08-15  9:13                                               ` Jan Glauber
2017-08-07  9:37                                       ` Suzuki K Poulose
2017-08-07  9:37                                         ` Suzuki K Poulose
2017-07-25 15:56   ` Jonathan Cameron
2017-07-25 15:56     ` Jonathan Cameron
2017-07-25 15:04 ` [PATCH v8 2/3] perf: cavium: Support transmit-link " Jan Glauber
2017-07-25 15:04   ` Jan Glauber
2017-07-25 15:04 ` [PATCH v8 3/3] perf: cavium: Add Documentation Jan Glauber
2017-07-25 15:04   ` Jan Glauber

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=20170726131058.GA8665@hc \
    --to=jan.glauber@caviumnetworks.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.