From: Robin Murphy <robin.murphy@arm.com>
To: Ehsan Aghapour <aghapour.ehsan17@gmail.com>,
linux-amlogic@lists.infradead.org, mark.rutland@arm.com,
maz@kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: Enable "PMU" counters for Khadas VIM3 in the Google AOSP kernel
Date: Thu, 14 Oct 2021 11:53:41 +0100 [thread overview]
Message-ID: <83c45a95-d13b-0255-4bec-e52b2e7d5dd1@arm.com> (raw)
In-Reply-To: <CAHjmVnroctx00OycHrbEjU51SntkSi9MkmaR9KZnnHkSvxkBHQ@mail.gmail.com>
Hi Ehsan,
On 2021-10-08 00:11, Ehsan Aghapour wrote:
> Hello All,
>
> I am working on Google AOSP kernel and require to enable PMU. PMU is
> working well in Khadas kernel for both A53 and A73 cores but it is not
> enabled in Google AOSP kernel 5.4. I try adding arm_pmu definition in
> device tree at /arch/arm64/boot/dts/amlogic/meson-g12b.dtsi as follow:
> arm_pmu {
> compatible = "arm,armv8-pmuv3";
> clusterb-enabled;
> interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
> <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
> reg = <0x0 0xff634680 0x0 0x4>,
> <0x0 0xff6347c0 0x0 0x04>;
> cpumasks = <0x3 0x3C>;
> /* default 10ms */
> relax-timer-ns = <10000000>;
> /* default 10000us */
> max-wait-cnt = <10000>;
> };
Note that pretty much none of that is valid per the PMU binding[1].
> However in this case I only see A53 performance counters in DS5
> Streamline and performance counters of A73 cores are zero yet.
>
> Would you please help me solve the problem? (If device tree need
> change or kernel config to enable pmu counters for both CPUs).
You should have two nodes describing the A53 and A73 PMUs distinctly. If
the interrupts are SPIs you need the appropriate property describing
which interrupt belongs to which CPU - see [2] for an example. Note that
if you really do only have 2 interrupts for 6 CPUs (implying maybe
they're combined together per cluster?) then unfortunately it's never
going to work - the upstream PMU driver does not support shared
interrupts (it used to attempt to, but it's impractically complicated
and gives poor-quality results at best).
Robin.
[1]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/arm/pmu.yaml
[2]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/arm/juno.dts#n209
> This is related kernel log:
> "[ 1.965309] hw perfevents: no interrupt-affinity property for
> /arm_pmu, guessing.
> [ 1.970821] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7
> counters available
> ...
> [ 7.131341] ueventd: LoadWithAliases was unable to load
> of:Narm_pmuT(null)Carm,armv8-pmuv3"
>
>
> Best regards,
> Ehsan
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
next prev parent reply other threads:[~2021-10-14 10:53 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-07 23:11 Enable "PMU" counters for Khadas VIM3 in the Google AOSP kernel Ehsan Aghapour
2021-10-14 10:53 ` Robin Murphy [this message]
[not found] <CAHjmVnpUof2Nvbuuw6uQ31w5LNoCrYjV0Z+Eya0FLiQ29drKmA@mail.gmail.com>
2021-10-08 8:21 ` Marc Zyngier
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=83c45a95-d13b-0255-4bec-e52b2e7d5dd1@arm.com \
--to=robin.murphy@arm.com \
--cc=aghapour.ehsan17@gmail.com \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=maz@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox