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

From: Ingo Molnar
Date: Mon Jun 15 2009 - 16:00:31 EST



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

> On Mon, 2009-06-15 at 21:07 +0200, Ingo Molnar wrote:
> > * Ingo Molnar <mingo@xxxxxxx> 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
--
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/