Re: [Patch v4 07/13] perf/x86: Add constraint for guest perf metrics event
From: Peter Zijlstra
Date: Mon Oct 02 2023 - 07:57:53 EST
On Fri, Sep 29, 2023 at 03:46:55PM +0000, Sean Christopherson wrote:
> > I will firmly reject anything that takes the PMU away from the host
> > entirely through.
>
> Why? What is so wrong with supporting use cases where the platform owner *wants*
> to give up host PMU and NMI watchdog functionality? If disabling host PMU usage
> were complex, highly invasive, and/or difficult to maintain, then I can understand
> the pushback.
Because it sucks.
You're forcing people to choose between no host PMU or a slow guest PMU.
And that's simply not a sane choice for most people -- worse it's not a
choice based in technical reality.
It's a choice out of lazyness, disabling host PMU is not a requirement
for pass-through.
Like I wrote, all we need to do is ensure vCPU tasks will never have a
perf-event scheduled that covers guest mode. Currently this would be
achievable by having event creation for both:
- CPU events without attr::exclude_guest=1, and
- task events for vCPU task of interest without attr::exclude_guest=1
error with -EBUSY or something.
This ensures there are no events active for those vCPU tasks at VMENTER
time and you can haz pass-through.