All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: Besar Wicaksono <bwicaksono@nvidia.com>,
	Sudeep Holla <sudeep.holla@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>,
	Will Deacon <will@kernel.org>,
	"catalin.marinas@arm.com" <catalin.marinas@arm.com>,
	"mark.rutland@arm.com" <mark.rutland@arm.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
	"thanu.rangarajan@arm.com" <thanu.rangarajan@arm.com>,
	"Michael.Williams@arm.com" <Michael.Williams@arm.com>,
	Thierry Reding <treding@nvidia.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Vikram Sethi <vsethi@nvidia.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH 0/2] perf: ARM CoreSight PMU support
Date: Wed, 11 May 2022 13:42:02 +0100	[thread overview]
Message-ID: <b0b92bdd-9ebe-8ce9-abe3-1f4d05a838dc@arm.com> (raw)
In-Reply-To: <SJ0PR12MB5676E68453A977F1220FF7AFA0C89@SJ0PR12MB5676.namprd12.prod.outlook.com>

On 2022-05-11 02:29, Besar Wicaksono wrote:
> 
> 
>> -----Original Message-----
>> From: Sudeep Holla <sudeep.holla@arm.com>
>> Sent: Tuesday, May 10, 2022 1:40 PM
>> To: Besar Wicaksono <bwicaksono@nvidia.com>
>> Cc: Suzuki K Poulose <suzuki.poulose@arm.com>; Will Deacon
>> <will@kernel.org>; Sudeep Holla <sudeep.holla@arm.com>;
>> catalin.marinas@arm.com; mark.rutland@arm.com; linux-arm-
>> kernel@lists.infradead.org; linux-kernel@vger.kernel.org; linux-
>> tegra@vger.kernel.org; thanu.rangarajan@arm.com;
>> Michael.Williams@arm.com; Thierry Reding <treding@nvidia.com>; Jonathan
>> Hunter <jonathanh@nvidia.com>; Vikram Sethi <vsethi@nvidia.com>;
>> Mathieu Poirier <mathieu.poirier@linaro.org>
>> Subject: Re: [PATCH 0/2] perf: ARM CoreSight PMU support
>>
>> External email: Use caution opening links or attachments
>>
>>
>> On Tue, May 10, 2022 at 12:13:19PM +0100, Will Deacon wrote:
>>> On Tue, May 10, 2022 at 12:07:42PM +0100, Sudeep Holla wrote:
>>>> On Mon, May 09, 2022 at 11:02:23AM +0100, Suzuki K Poulose wrote:
>>>>> Cc: Mike Williams, Mathieu Poirier
>>>>> On 09/05/2022 10:28, Will Deacon wrote:
>>>>>> On Sun, May 08, 2022 at 07:28:08PM -0500, Besar Wicaksono wrote:
>>>>>>>    arch/arm64/configs/defconfig                  |    1 +
>>>>>>>    drivers/perf/Kconfig                          |    2 +
>>>>>>>    drivers/perf/Makefile                         |    1 +
>>>>>>>    drivers/perf/coresight_pmu/Kconfig            |   10 +
>>>>>>>    drivers/perf/coresight_pmu/Makefile           |    7 +
>>>>>>>    .../perf/coresight_pmu/arm_coresight_pmu.c    | 1317
>> +++++++++++++++++
>>>>>>>    .../perf/coresight_pmu/arm_coresight_pmu.h    |  147 ++
>>>>>>>    .../coresight_pmu/arm_coresight_pmu_nvidia.c  |  300 ++++
>>>>>>>    .../coresight_pmu/arm_coresight_pmu_nvidia.h  |   17 +
>>>>>>>    9 files changed, 1802 insertions(+)
>>>>>>
>>>>>> How does this interact with all the stuff we have under
>>>>>> drivers/hwtracing/coresight/?
>>>>>
>>>>> Absolutely zero, except for the name. The standard
>>>>> is named "CoreSight PMU" which is a bit unfortunate,
>>>>> given the only link, AFAIU, with the "CoreSight" architecture
>>>>> is the Lock Access Register(LAR). For reference, the
>>>>> drivers/hwtracing/coresight/ is purely "CoreSight" self-hosted
>>>>> tracing and the PMU is called "cs_etm" (expands to coresight etm).
>>>>> Otherwise the standard doesn't have anything to do with what
>>>>> exists already in the kernel.
>>>
>>> That's... a poor naming choice! But good, if it's entirely separate then I
>>> don't have to worry about that. Just wanted to make sure we're not going
>> to
>>> get tangled up in things like ROM tables and Coresight power domains for
>>> these things.
>>>
>>
>> OK, now that triggered another question/thought.
>>
>> 1. Do you need to do active power management for these PMUs ? Or like
>>     CPU PMUs, do you reject entering low power states if there is active
>>     session in progress. If there is active session, runtime PM won't get
>>     triggered but if there is system wide suspend, how is that dealt with ?
>>
> 
> Looking at the other uncore/system PMUs, none of the drivers support PM ops.
> NVIDIA system PMU also does not get power gated and system suspend is not
> supported. But just like other uncore PMU driver, this driver supports CPU hotplug.
> If PM is needed, the required info should have been expressed in ACPI.
> 
>> 2. Assuming you need some sort of PM, and since this is static table(which
>>     I really don't like/prefer but it is out there 🙁), how do you plan to
>>     get the power domain related information.
>>
> 
> I guess the APMT spec in section 2.2 may cover this. If a PMU implementation has
> properties beyond what is defined in the spec, these properties can be described in DSDT.
> The driver doesn’t take care of this currently, so this is a room for future improvement.

Yes, I assume it's essentially the same story as for MPAM MSCs in this 
respect. Plus it means that MSI support will be similarly fun, where 
we'll need to have a corresponding DSDT device via which we can request 
the interrupt, because that needs to further correlate to an IORT Named 
Component node describing the ITS mapping. Hopefully we can abstract 
some of that in the APMT code rather than expose it all to the PMU 
driver...

Robin.

WARNING: multiple messages have this Message-ID (diff)
From: Robin Murphy <robin.murphy@arm.com>
To: Besar Wicaksono <bwicaksono@nvidia.com>,
	Sudeep Holla <sudeep.holla@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>,
	Will Deacon <will@kernel.org>,
	 "catalin.marinas@arm.com" <catalin.marinas@arm.com>,
	"mark.rutland@arm.com" <mark.rutland@arm.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
	"thanu.rangarajan@arm.com" <thanu.rangarajan@arm.com>,
	"Michael.Williams@arm.com" <Michael.Williams@arm.com>,
	Thierry Reding <treding@nvidia.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Vikram Sethi <vsethi@nvidia.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH 0/2] perf: ARM CoreSight PMU support
Date: Wed, 11 May 2022 13:42:02 +0100	[thread overview]
Message-ID: <b0b92bdd-9ebe-8ce9-abe3-1f4d05a838dc@arm.com> (raw)
In-Reply-To: <SJ0PR12MB5676E68453A977F1220FF7AFA0C89@SJ0PR12MB5676.namprd12.prod.outlook.com>

On 2022-05-11 02:29, Besar Wicaksono wrote:
> 
> 
>> -----Original Message-----
>> From: Sudeep Holla <sudeep.holla@arm.com>
>> Sent: Tuesday, May 10, 2022 1:40 PM
>> To: Besar Wicaksono <bwicaksono@nvidia.com>
>> Cc: Suzuki K Poulose <suzuki.poulose@arm.com>; Will Deacon
>> <will@kernel.org>; Sudeep Holla <sudeep.holla@arm.com>;
>> catalin.marinas@arm.com; mark.rutland@arm.com; linux-arm-
>> kernel@lists.infradead.org; linux-kernel@vger.kernel.org; linux-
>> tegra@vger.kernel.org; thanu.rangarajan@arm.com;
>> Michael.Williams@arm.com; Thierry Reding <treding@nvidia.com>; Jonathan
>> Hunter <jonathanh@nvidia.com>; Vikram Sethi <vsethi@nvidia.com>;
>> Mathieu Poirier <mathieu.poirier@linaro.org>
>> Subject: Re: [PATCH 0/2] perf: ARM CoreSight PMU support
>>
>> External email: Use caution opening links or attachments
>>
>>
>> On Tue, May 10, 2022 at 12:13:19PM +0100, Will Deacon wrote:
>>> On Tue, May 10, 2022 at 12:07:42PM +0100, Sudeep Holla wrote:
>>>> On Mon, May 09, 2022 at 11:02:23AM +0100, Suzuki K Poulose wrote:
>>>>> Cc: Mike Williams, Mathieu Poirier
>>>>> On 09/05/2022 10:28, Will Deacon wrote:
>>>>>> On Sun, May 08, 2022 at 07:28:08PM -0500, Besar Wicaksono wrote:
>>>>>>>    arch/arm64/configs/defconfig                  |    1 +
>>>>>>>    drivers/perf/Kconfig                          |    2 +
>>>>>>>    drivers/perf/Makefile                         |    1 +
>>>>>>>    drivers/perf/coresight_pmu/Kconfig            |   10 +
>>>>>>>    drivers/perf/coresight_pmu/Makefile           |    7 +
>>>>>>>    .../perf/coresight_pmu/arm_coresight_pmu.c    | 1317
>> +++++++++++++++++
>>>>>>>    .../perf/coresight_pmu/arm_coresight_pmu.h    |  147 ++
>>>>>>>    .../coresight_pmu/arm_coresight_pmu_nvidia.c  |  300 ++++
>>>>>>>    .../coresight_pmu/arm_coresight_pmu_nvidia.h  |   17 +
>>>>>>>    9 files changed, 1802 insertions(+)
>>>>>>
>>>>>> How does this interact with all the stuff we have under
>>>>>> drivers/hwtracing/coresight/?
>>>>>
>>>>> Absolutely zero, except for the name. The standard
>>>>> is named "CoreSight PMU" which is a bit unfortunate,
>>>>> given the only link, AFAIU, with the "CoreSight" architecture
>>>>> is the Lock Access Register(LAR). For reference, the
>>>>> drivers/hwtracing/coresight/ is purely "CoreSight" self-hosted
>>>>> tracing and the PMU is called "cs_etm" (expands to coresight etm).
>>>>> Otherwise the standard doesn't have anything to do with what
>>>>> exists already in the kernel.
>>>
>>> That's... a poor naming choice! But good, if it's entirely separate then I
>>> don't have to worry about that. Just wanted to make sure we're not going
>> to
>>> get tangled up in things like ROM tables and Coresight power domains for
>>> these things.
>>>
>>
>> OK, now that triggered another question/thought.
>>
>> 1. Do you need to do active power management for these PMUs ? Or like
>>     CPU PMUs, do you reject entering low power states if there is active
>>     session in progress. If there is active session, runtime PM won't get
>>     triggered but if there is system wide suspend, how is that dealt with ?
>>
> 
> Looking at the other uncore/system PMUs, none of the drivers support PM ops.
> NVIDIA system PMU also does not get power gated and system suspend is not
> supported. But just like other uncore PMU driver, this driver supports CPU hotplug.
> If PM is needed, the required info should have been expressed in ACPI.
> 
>> 2. Assuming you need some sort of PM, and since this is static table(which
>>     I really don't like/prefer but it is out there 🙁), how do you plan to
>>     get the power domain related information.
>>
> 
> I guess the APMT spec in section 2.2 may cover this. If a PMU implementation has
> properties beyond what is defined in the spec, these properties can be described in DSDT.
> The driver doesn’t take care of this currently, so this is a room for future improvement.

Yes, I assume it's essentially the same story as for MPAM MSCs in this 
respect. Plus it means that MSI support will be similarly fun, where 
we'll need to have a corresponding DSDT device via which we can request 
the interrupt, because that needs to further correlate to an IORT Named 
Component node describing the ITS mapping. Hopefully we can abstract 
some of that in the APMT code rather than expose it all to the PMU 
driver...

Robin.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-05-11 12:42 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-09  0:28 [PATCH 0/2] perf: ARM CoreSight PMU support Besar Wicaksono
2022-05-09  0:28 ` Besar Wicaksono
2022-05-09  0:28 ` [PATCH 1/2] perf: coresight_pmu: Add support for ARM CoreSight PMU driver Besar Wicaksono
2022-05-09  0:28   ` Besar Wicaksono
2022-05-09 12:13   ` Robin Murphy
2022-05-09 12:13     ` Robin Murphy
2022-05-11  2:46     ` Besar Wicaksono
2022-05-11  2:46       ` Besar Wicaksono
2022-05-11 10:03       ` Robin Murphy
2022-05-11 10:03         ` Robin Murphy
2022-05-09  0:28 ` [PATCH 2/2] perf: coresight_pmu: Add support for NVIDIA SCF and MCF attribute Besar Wicaksono
2022-05-09  0:28   ` Besar Wicaksono
2022-05-09  9:28 ` [PATCH 0/2] perf: ARM CoreSight PMU support Will Deacon
2022-05-09  9:28   ` Will Deacon
2022-05-09 10:02   ` Suzuki K Poulose
2022-05-09 10:02     ` Suzuki K Poulose
2022-05-09 12:20     ` Shaokun Zhang
2022-05-09 12:20       ` Shaokun Zhang
2022-05-09 22:07     ` Besar Wicaksono
2022-05-09 22:07       ` Besar Wicaksono
2022-05-10 11:07     ` Sudeep Holla
2022-05-10 11:07       ` Sudeep Holla
2022-05-10 11:13       ` Will Deacon
2022-05-10 11:13         ` Will Deacon
2022-05-10 18:40         ` Sudeep Holla
2022-05-10 18:40           ` Sudeep Holla
2022-05-11  1:29           ` Besar Wicaksono
2022-05-11  1:29             ` Besar Wicaksono
2022-05-11 12:42             ` Robin Murphy [this message]
2022-05-11 12:42               ` Robin Murphy
2022-05-13  6:16               ` Thanu Rangarajan
2022-05-13  6:16                 ` Thanu Rangarajan
2022-05-11  8:44         ` Suzuki K Poulose
2022-05-11  8:44           ` Suzuki K Poulose
2022-05-11 16:44           ` Besar Wicaksono
2022-05-11 16:44             ` Besar Wicaksono
2022-05-13 12:25             ` Besar Wicaksono
2022-05-13 12:25               ` Besar Wicaksono
2022-05-15 16:30 ` [PATCH v2 " Besar Wicaksono
2022-05-15 16:30   ` Besar Wicaksono
2022-05-15 16:30   ` [PATCH v2 1/2] perf: coresight_pmu: Add support for ARM CoreSight PMU driver Besar Wicaksono
2022-05-15 16:30     ` Besar Wicaksono
2022-05-18  7:16     ` kernel test robot
2022-05-18  7:16       ` kernel test robot
2022-05-18 20:10       ` Besar Wicaksono
2022-05-18 20:10         ` Besar Wicaksono
2022-05-19  8:52     ` Suzuki K Poulose
2022-05-19  8:52       ` Suzuki K Poulose
2022-05-19 17:04       ` Besar Wicaksono
2022-05-19 17:04         ` Besar Wicaksono
2022-05-15 16:30   ` [PATCH v2 2/2] perf: coresight_pmu: Add support for NVIDIA SCF and MCF attribute Besar Wicaksono
2022-05-15 16:30     ` Besar Wicaksono
2022-05-25  6:48   ` [PATCH v3 0/2] perf: ARM CoreSight PMU support Besar Wicaksono
2022-05-25  6:48     ` Besar Wicaksono
2022-05-25  6:48     ` [PATCH v3 1/2] perf: coresight_pmu: Add support for ARM CoreSight PMU driver Besar Wicaksono
2022-05-25  6:48       ` Besar Wicaksono
2022-05-25  6:48     ` [PATCH v3 2/2] perf: coresight_pmu: Add support for NVIDIA SCF and MCF attribute Besar Wicaksono
2022-05-25  6:48       ` Besar Wicaksono
2022-06-03 15:47     ` [PATCH v3 0/2] perf: ARM CoreSight PMU support Besar Wicaksono
2022-06-03 15:47       ` Besar Wicaksono
2022-06-14 10:19     ` Besar Wicaksono
2022-06-14 10:19       ` Besar Wicaksono

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=b0b92bdd-9ebe-8ce9-abe3-1f4d05a838dc@arm.com \
    --to=robin.murphy@arm.com \
    --cc=Michael.Williams@arm.com \
    --cc=bwicaksono@nvidia.com \
    --cc=catalin.marinas@arm.com \
    --cc=jonathanh@nvidia.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mathieu.poirier@linaro.org \
    --cc=sudeep.holla@arm.com \
    --cc=suzuki.poulose@arm.com \
    --cc=thanu.rangarajan@arm.com \
    --cc=treding@nvidia.com \
    --cc=vsethi@nvidia.com \
    --cc=will@kernel.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.