linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Joerg Roedel <joro@8bytes.org>
Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	Ingo Molnar <mingo@elte.hu>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Arnaldo Carvalho de Melo <acme@ghostprotocols.net>,
	Borislav Petkov <borislav.petkov@amd.com>
Subject: Re: [PATCH v1 0/5] KVM in-guest performance monitoring
Date: Thu, 12 May 2011 12:51:11 +0300	[thread overview]
Message-ID: <4DCBAD8F.8030006@redhat.com> (raw)
In-Reply-To: <20110512093309.GD8707@8bytes.org>

On 05/12/2011 12:33 PM, Joerg Roedel wrote:
> 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 :)

Speed matters.

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

Note, at this time the architectural PMU is only recognized on an Intel 
host.

Is the statement "if an AMD processor returns non-zero information in 
cpuid leaf 0xa, then that processor will be compatible with other 
vendors' processors reporting the same information" correct?

If so, we can move the detection of the architectural pmu outside the 
cpu vendor checks, and this code will work on both AMD and Intel 
processors (even if the host cpu doesn't have an architectural PMU).

-- 
error compiling committee.c: too many arguments to function


  parent reply	other threads:[~2011-05-12  9:51 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-11 15:55 [PATCH v1 0/5] KVM in-guest performance monitoring Avi Kivity
2011-05-11 15:55 ` [PATCH v1 1/5] perf: add context parameter to perf_event overflow handler Avi Kivity
2011-06-03 14:41   ` Peter Zijlstra
2011-06-05  8:07     ` Avi Kivity
2011-05-11 15:55 ` [PATCH v1 2/5] x86, perf: add constraints for architectural PMU v1 Avi Kivity
2011-05-11 15:55 ` [PATCH v1 3/5] perf: export perf_event_refresh() to modules Avi Kivity
2011-05-11 15:55 ` [PATCH v1 4/5] KVM: Expose kvm_lapic_local_deliver() Avi Kivity
2011-05-11 15:55 ` [PATCH v1 5/5] KVM: Expose a version 1 architectural PMU to guests Avi Kivity
2011-05-17 19:41   ` Ingo Molnar
2011-05-18  9:03     ` Avi Kivity
2011-05-18 11:07       ` Ingo Molnar
2011-05-18 11:29         ` Peter Zijlstra
2011-05-18 11:57           ` Ingo Molnar
2011-05-18 11:32         ` Peter Zijlstra
2011-05-18 11:37           ` Avi Kivity
2011-05-18 12:35             ` Peter Zijlstra
2011-05-18 12:49               ` Avi Kivity
2011-06-03 14:41   ` Peter Zijlstra
2011-06-05  8:12     ` Avi Kivity
2011-06-03 14:41   ` Peter Zijlstra
2011-06-05  8:12     ` Avi Kivity
2011-05-12  9:33 ` [PATCH v1 0/5] KVM in-guest performance monitoring Joerg Roedel
2011-05-12  9:47   ` Jan Kiszka
2011-05-12  9:53     ` Avi Kivity
2011-05-12 13:11     ` Joerg Roedel
2011-05-12 13:23       ` Jan Kiszka
2011-05-12 13:43         ` Joerg Roedel
2011-05-12 13:31       ` Avi Kivity
2011-05-12 14:24         ` Joerg Roedel
2011-05-12 14:37           ` Avi Kivity
2011-05-12 14:45             ` Avi Kivity
2011-05-13 12:34             ` Joerg Roedel
2011-05-12  9:51   ` Avi Kivity [this message]
2011-05-12 13:06     ` Joerg Roedel
2011-05-12 13:38       ` Avi Kivity
2011-05-12 14:29         ` Joerg Roedel
2011-05-17  9:52 ` Avi Kivity
2011-06-01  9:45   ` Avi Kivity
2011-06-01 10:26     ` Peter Zijlstra
2011-06-01 11:26       ` Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4DCBAD8F.8030006@redhat.com \
    --to=avi@redhat.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@ghostprotocols.net \
    --cc=borislav.petkov@amd.com \
    --cc=joro@8bytes.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).