On 5/15/2025 6:51 AM, Sean Christopherson wrote: > On Mon, Mar 24, 2025, Mingwei Zhang wrote: >> +{ >> + if (event->attr.exclude_guest && __this_cpu_read(perf_in_guest)) { > My vote is for s/perf_in_guest/guest_ctx_loaded, because "perf in guest" > doesn't > accurately describe just the mediated PMU case. E.g. perf itself is running > in > KVM guests when using an emulated vPMU, or no vPMU at all.
Agree. > > And with a Kconfig to guard the mediated PMU, this check (and others) can be > elided at compile time for architectures that don't support a mediated PMU (or > if KVM is disabled). > >> + /* >> + * (now + times[total].offset) - (now + times[guest].offset) := >> + * times[total].offset - times[guest].offset >> + */ >> + return READ_ONCE(times[T_TOTAL].offset) - >> READ_ONCE(times[T_GUEST].offset); >> + } >> + >> + return now + READ_ONCE(times[T_TOTAL].offset); >> +} >> +