Re: KVM PMU virtualization

Avi Kivity
2010-02-26T13:45:31Z

On 02/26/2010 03:28 PM, Peter Zijlstra wrote:
> On Fri, 2010-02-26 at 13:51 +0200, Avi Kivity wrote:
>
>
>> It would be the other way round - the host would steal the pmu from the
>> guest. Later we can try to time-slice and extrapolate, though that's
>> not going to be easy.
>>
> Right, so perf already does the time slicing and interpolating thing, so
> a soft-pmu gets that for free.
>

True.

> Anyway, this discussion seems somewhat in a stale-mate position.
>
> The KVM folks basically demand a full PMU MSR shadow with PMI
> passthrough so that their $legacy shit works without modification.
>
> My question with that is how $legacy muck can ever know how the current
> PMU works, you can't even properly emulate a core2 pmu on a nehalem
> because intel keeps messing with the event codes for every new model.
>

Right, this is pretty bad. For Windows it's probably acceptable to
upgrade your performance tools (since that's separate from the OS). In
Linux it is integrated into the kernel, and it's fairly unacceptable to
demand a kernel upgrade when your host is upgraded underneath you.

> So basically for this to work means the guest can't run legacy stuff
> anyway, but needs to run very up-to-date software, so we might as well
> create a soft-pmu/paravirt interface now and have all up-to-date
> software support that for the next generation.
>

Still that leaves us with no Windows / non-Linux solution.

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.