[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <865xmsov53.wl-maz@kernel.org>
Date: Mon, 06 Jan 2025 14:48:56 +0000
From: Marc Zyngier <maz@...nel.org>
To: James Clark <james.clark@...aro.org>
Cc: kvmarm@...ts.linux.dev,
oliver.upton@...ux.dev,
suzuki.poulose@....com,
coresight@...ts.linaro.org,
Joey Gouly <joey.gouly@....com>,
Zenghui Yu <yuzenghui@...wei.com>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>,
Mike Leach <mike.leach@...aro.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Mark Rutland <mark.rutland@....com>,
Anshuman Khandual <anshuman.khandual@....com>,
Shiqi Liu <shiqiliu@...t.edu.cn>,
James Morse <james.morse@....com>,
Mark Brown <broonie@...nel.org>,
"Rob Herring (Arm)" <robh@...nel.org>,
Raghavendra Rao Ananta <rananta@...gle.com>,
linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v9 0/7] kvm/coresight: Support exclude guest and exclude host
On Mon, 06 Jan 2025 14:24:35 +0000,
James Clark <james.clark@...aro.org> wrote:
>
> FEAT_TRF is a Coresight feature that allows trace capture to be
> completely filtered at different exception levels, unlike the existing
> TRCVICTLR controls which may still emit target addresses of branches,
> even if the following trace is filtered.
>
> Without FEAT_TRF, it was possible to start a trace session on a host and
> also collect trace from the guest as TRCVICTLR was never programmed to
> exclude guests (and it could still emit target addresses even if it
> was).
>
> With FEAT_TRF, the current behavior of trace in guests exists depends on
> whether nVHE or VHE are being used. Both of the examples below are from
> the host's point of view, as Coresight isn't accessible from guests.
> This patchset is only relevant to when FEAT_TRF exists, otherwise there
> is no change.
>
> Current behavior:
>
> nVHE/pKVM:
>
> Because the host and the guest are both using TRFCR_EL1, trace will be
> generated in guests depending on the same filter rules the host is
> using. For example if the host is tracing userspace only, then guest
> userspace trace will also be collected.
>
> (This is further limited by whether TRBE is used because an issue
> with TRBE means that it's completely disabled in nVHE guests, but it's
> possible to have other tracing components.)
>
> VHE:
>
> With VHE, the host filters will be in TRFCR_EL2, but the filters in
> TRFCR_EL1 will be active when the guest is running. Because we don't
> write to TRFCR_EL1, guest trace will be completely disabled.
>
> New behavior:
>
> The guest filtering rules from the Perf session are now honored for both
> nVHE and VHE modes. This is done by either writing to TRFCR_EL12 at the
> start of the Perf session and doing nothing else further, or caching the
> guest value and writing it at guest switch for nVHE. In pKVM, trace is
> now be disabled for both protected and unprotected guests.
>
> There is also an optimization where the Coresight drivers pass their
> enabled state to KVM. This means in the common case KVM doesn't have to
> touch any sysregs when the feature isn't in use.
>
> Applies to kvmarm/next (00163be8bb59).
Can you *PLEASE* stop this absolutely nonsense of posting patches
based on top of random commits? Please look at how we integrate new
developments: they are *always* based on an early -rc tag (usually
-rc3).
If you depend on other patches, add them to your series and post the
whole thing.
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
Powered by blists - more mailing lists