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

Ingo Molnar
2009-06-15T21:14:21Z

* H. Peter Anvin <hpa@zytor.com> wrote:

> Ingo Molnar wrote:
> >
> > hm, does this really work? Using sysret there would be quite
> > tempting. Does anyone know the rough cycle count difference between
> > IRET and SYSRET on contemporary hardware?
> >
> > Also, is SYSRET NMI-invariant? If yes then this would be a quite
> > clean all-around solution: on modern hw we'd standardize on doing
> > SYSRET from pretty much all the contexts. We'd get a nice speedup
> > and also the NMI nested pagefaults fix.
> >
> > Oh, compat mode. Doesnt SYSRET on Intel CPUs have the problem of not
> > being able to switch back to 32-bit user-space?
> >
>
> Not sure. SYSRET/SYSEXIT are *not* general return to userspace
> solutions in either case; any kind of complex modes and they
> can't.
>
> And they are, of course, only applicable for returning to
> userspace. As such, I don't understand the "NMI invariant"
> comment.

Yeah - it makes no sense for the NMI return indeed, as the target
CS/SS is hardcoded indeed.

Ingo