Re: [PATCH v2 5/5] perf: Correct perf sampling with guest VMs
From: Sean Christopherson
Date: Wed Sep 11 2024 - 18:59:34 EST
On Wed, Sep 11, 2024, Colton Lewis wrote:
> Previously any PMU overflow interrupt that fired while a VCPU was
> loaded was recorded as a guest event whether it truly was or not. This
> resulted in nonsense perf recordings that did not honor
> perf_event_attr.exclude_guest and recorded guest IPs where it should
> have recorded host IPs.
>
> Rework the sampling logic to only record guest samples for events with
> exclude_guest clear. This way any host-only events with exclude_guest
> set will never see unexpected guest samples. The behaviour of events
> with exclude_guest clear is unchanged.
Nit, "with exclude_guest clear" is easy to misread as simply "with exclude_guest"
(I did so at least three times). Maybe
The behavior of exclude_guest=0 events is unchanged.
or
The behavior of events without exclude_guest is unchanged.
I think it's also worth explicitly calling out that events that are configured
to sample both host and guest may still be prone to misattributing a PMI that
arrived in the host as a guest event, depending on the KVM arch and/or vendor
behavior.