Re: [PATCH 08/11] perf tool: precise mode requires exclude_guest

From: Peter Zijlstra
Date: Thu Jul 26 2012 - 04:07:47 EST


On Thu, 2012-07-26 at 08:50 +0300, Gleb Natapov wrote:
> On Wed, Jul 25, 2012 at 10:35:46PM +0200, Peter Zijlstra wrote:
> > On Tue, 2012-07-24 at 18:15 +0200, Robert Richter wrote:
> > > David,
> > >
> > > On 24.07.12 08:20:19, David Ahern wrote:
> > > > On 7/23/12 12:13 PM, Arnaldo Carvalho de Melo wrote:
> > > > > Em Fri, Jul 20, 2012 at 05:25:53PM -0600, David Ahern escreveu:
> > > > >> PEBS cannot be used with guest mode. If user adds :p modifier set
> > > > >> exclude_guest as well.
> > > > >
> > > > > Is this something Intel specific? Or can someone think of an arch where
> > > > > this limitation wouldn't exist?
> > > >
> > > > Good point. So far precise_ip is used by arch/x86 only. I don't have an
> > > > AMD based server so I don't know if there is a conflict between
> > > > virtualization and IBS. Added Robert for advice.
> > >
> > > thanks for this hint.
> > >
> > > On AMD cpus precise_ip maps to IBS, which does not support hardware
> > > options as perfctrs do. Thus, following attr flags are not supported:
> > >
> > > exclude_user, exclude_kernel, exclude_host, exclude_guest
> > >
> > > Counting in guest mode is possible with IBS, but not the exclusion of
> > > a certain mode. If precise_ip counting is enabled on AMD we may not
> > > set the exclude_guest flag.
> >
> > IIRC we have SVM enter/exit hooks in kvm/perf already, we could use
> > those to implement exclude_guest for IBS.
> >
> > Now I've been trying to find the patches that introduced that, but I'm
> > failing horridly. Gleb, got us a pointer here?

> The commit is 144d31e6, but it introduces hook that is used on VMX only.
> SVM does not need it to implement guest/host only counters since it
> has HW support for that in the PMU.

Right, seems that has changed now that we support IBS.
--
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/