Re: [PATCH v1 0/5] KVM in-guest performance monitoring

From: Joerg Roedel
Date: Thu May 12 2011 - 05:33:15 EST


On Wed, May 11, 2011 at 11:55:28AM -0400, Avi Kivity wrote:
> This not-for-merging patchset exposes an emulated version 1 architectural
> performance monitoring unit to KVM guests. The PMU is emulated using
> perf_events, so the host kernel can multiplex host-wide, host-user, and the
> guest on available resources.
>
> Caveats:
> - counters that have PMI (interrupt) enabled stop counting after the
> interrupt is signalled. This is because we need one-shot samples
> that keep counting, which perf doesn't support yet
> - some combinations of INV and CMASK are not supported
> - counters keep on counting in the host as well as the guest
> - the RDPMC instruction and CR4.PCE bit are not yet emulated
> - there is likely a bug in the implementation; running 'perf top' in
> a guest that spends 80% of its time in userspace shows perf itself
> as consuming almost all cpu
>
> perf maintainers: please consider the first three patches for merging (the
> first two make sense even without the rest). If you're familiar with the Intel
> PMU, please review patch 5 as well - it effectively undoes all your work
> of abstracting the PMU into perf_events by unabstracting perf_events into what
> is hoped is a very similar PMU.

Gaah, I was just about to submit a talk about PMU virtualization for KVM
Forum :)

Anyway, I thought about a paravirt-approach instead of implementing a
real PMU... But there are certainly good reasons for both.

Joerg

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/