Thread (31 messages) 31 messages, 8 authors, 2022-06-14

Re: [PATCH 0/2] perf: ARM CoreSight PMU support

From: Robin Murphy <robin.murphy@arm.com>
Date: 2022-05-11 12:42:21
Also in: linux-tegra, lkml

On 2022-05-11 02:29, Besar Wicaksono wrote:
quoted
-----Original Message-----
From: Sudeep Holla <redacted>
Sent: Tuesday, May 10, 2022 1:40 PM
To: Besar Wicaksono <redacted>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>; Will Deacon
[off-list ref]; Sudeep Holla [off-list ref];
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 [off-list ref]; Jonathan
Hunter [off-list ref]; Vikram Sethi [off-list ref];
Mathieu Poirier [off-list ref]
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:
quoted
On Tue, May 10, 2022 at 12:07:42PM +0100, Sudeep Holla wrote:
quoted
On Mon, May 09, 2022 at 11:02:23AM +0100, Suzuki K Poulose wrote:
quoted
Cc: Mike Williams, Mathieu Poirier
On 09/05/2022 10:28, Will Deacon wrote:
quoted
On Sun, May 08, 2022 at 07:28:08PM -0500, Besar Wicaksono wrote:
quoted
   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
+++++++++++++++++
quoted
quoted
quoted
quoted
quoted
   .../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
quoted
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.
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help