[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4DCA87FA.4070902@redhat.com>
Date: Wed, 11 May 2011 15:58:34 +0300
From: Avi Kivity <avi@...hat.com>
To: "Roedel, Joerg" <Joerg.Roedel@....com>
CC: Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Paul Mackerras <paulus@...ba.org>, Ingo Molnar <mingo@...e.hu>,
Arnaldo Carvalho de Melo <acme@...stprotocols.net>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
benh <benh@...nel.crashing.org>,
Anton Blanchard <anton@...ba.org>, davem <davem@...emloft.net>
Subject: Re: [PATCH 2/3] perf, x86: Use GO/HO bits in perf-ctr
On 05/10/2011 06:04 PM, Roedel, Joerg wrote:
> On Tue, May 10, 2011 at 10:48:20AM -0400, Peter Zijlstra wrote:
> > On Tue, 2011-05-10 at 16:35 +0200, Joerg Roedel wrote:
> > > The AMD perf-counters support counting in guest or host-mode
> > > only. Make use of that feature when user-space specified
> > > guest/host-mode only counting.
> >
> > Subject mentions x86, does Intel have anything similar so you can make
> > it work for them too?
>
> Intel does not support guest or host-only counting in the hardware (at
> least according to my documentation). If wanted it could be approximated by
> enabling/disabling the counters in the guest-entry path.
vmx has support for atomically swapping MSRs during guest entry and exit
(you can load guest MSRs on entry, save guest MSRs on exit, and load
host MSRs on exit, but you can't save host MSRs on entry, so host-only
counters cannot be 100% accurate). We'd need some kvm/perf hooks to
program these MSR swaps, and to manually save the counters that cannot
be done automatically.
btw, your patchset can be further improved by integrating
exclude_guest/exclude_host into the constraints. For example if we have
three general purpose counters, two generic perf_events in user, one
exclude_guest perf_event, and one exclude_host perf_event, we can
schedule them all at all times, swapping the exclude_guest and
exclude_host events during guest entry/exit.
--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists