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

From: Ingo Molnar
Date: Mon Jun 15 2009 - 17:14:25 EST



* H. Peter Anvin <hpa@xxxxxxxxx> 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
--
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/