From: Oliver Upton <oliver.upton@linux.dev>
To: Marc Zyngier <maz@kernel.org>
Cc: kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
Joey Gouly <joey.gouly@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Zenghui Yu <yuzenghui@huawei.com>
Subject: Re: [PATCH 1/2] KVM: arm64: Fix MDCR_EL2.HPMN reset value
Date: Mon, 17 Feb 2025 10:53:50 -0800 [thread overview]
Message-ID: <Z7OFvp7LMcOvWziA@linux.dev> (raw)
In-Reply-To: <20250217112412.3963324-2-maz@kernel.org>
Hey,
On Mon, Feb 17, 2025 at 11:24:11AM +0000, Marc Zyngier wrote:
> The MDCR_EL2 documentation indicates that the HPMN field has
> the following behaviour:
>
> "On a Warm reset, this field resets to the expression NUM_PMU_COUNTERS."
>
> However, it appears we reset it to zero, which is not very useful.
>
> Add a reset helper for MDCR_EL2, and handle the case where userspace
> changes the target PMU, which may force us to change HPMN again.
>
> Reported-by: Joey Gouly <joey.gouly@arm.com>
> Signed-off-by: Marc Zyngier <maz@kernel.org>
The existing ABI expectations are that writes to PMCR_EL0.N constrain
the number of counters, so that should have a similar effect on
MDCR_EL2.HPMN.
At the same time, I get the feeling that we should throw out this whole
behavior of writing N to change the shape of the PMU, because it
complete breaks down for NV. PMCR_EL0.N is another one of those fields
that change behavior based on EL and isn't a global source of truth on
the shape of the PMU.
What do you think about adding a new vCPU attribute for selecting the
number of counters for a VM? We can allow non-nested VMs to use the
'old' method of writing PMCR_EL0.N and force nested VMs to use the
attribute.
We can then enforce ordering on the attribute and prevent it from being
used after vCPU reset.
Thanks,
Oliver
next prev parent reply other threads:[~2025-02-17 18:55 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-17 11:24 [PATCH 0/2] KVM: arm64: EL2 PMU reset handling fixes Marc Zyngier
2025-02-17 11:24 ` [PATCH 1/2] KVM: arm64: Fix MDCR_EL2.HPMN reset value Marc Zyngier
2025-02-17 18:53 ` Oliver Upton [this message]
2025-02-19 14:03 ` Marc Zyngier
2025-02-19 19:04 ` Oliver Upton
2025-02-19 21:10 ` Marc Zyngier
2025-02-17 11:24 ` [PATCH 2/2] KVM: arm64: Contextualise the handling of PMCR_EL0.P writes Marc Zyngier
2025-02-17 18:33 ` Oliver Upton
2025-02-20 10:44 ` [PATCH 0/2] KVM: arm64: EL2 PMU reset handling fixes Joey Gouly
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=Z7OFvp7LMcOvWziA@linux.dev \
--to=oliver.upton@linux.dev \
--cc=joey.gouly@arm.com \
--cc=kvmarm@lists.linux.dev \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=maz@kernel.org \
--cc=suzuki.poulose@arm.com \
--cc=yuzenghui@huawei.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;
as well as URLs for NNTP newsgroup(s).