Re: [tip:perfcounters/core] perf_counter: x86: Fix call-chain support to use NMI-safe methods

Ingo Molnar
2009-06-15T20:00:27Z

* Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:

> On Mon, 2009-06-15 at 21:07 +0200, Ingo Molnar wrote:
> > * Ingo Molnar <mingo@elte.hu> wrote:
> >
> > > > To a point where it cannot afford a simple register save/restore
> > > > ?
> > > >
> > > > There is "caring" and "_caring_". I am tempted to ask what NMI
> > > > handler execution frequency you have in mind here to figure out
> > > > if we are not trying to optimize sub-nanoseconds per minutes. ;)
> > >
> > > I routinely run 'perf' with half a million NMIs per second or
> > > more. ( Why wait 10 seconds for a profile you can get in 1 second?
> > > ;-)
> > >
> > > Granted that is over multiple CPUs - but still performance does
> > > matter here too.
> > >
> > > Reading cr2 is certainly fast. Writing it - dunno.
> >
> > But one thing is sure: it is certainly going to be faster than the
> > INVLPG(s!) we have to do with the GUP solution.
>
> Sure, but we only pay that price when we do the callchain bit, not
> on every NMI.

same goes for the CR2 save/restore trick - it only has to be done
around the code where we expect to generate a #PF. I.e. in the
call-graph bits.

Ingo