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

Ingo Molnar
2009-06-15T21:17:06Z

* Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:

> Just for the sake of making NMI handlers less tricky, supporting
> page faults caused by faulting kernel instructions (rather than
> only supporting explicit faulting from get_user_pages_inatomic)
> would be rather nice design-wise if it only costs 2-3 cycles.
>
> And I would not want to touch the page fault handler itself to
> write the saved cr2 value before the handler exits, because this
> would add a branch on a very hot path.

_That_ path is not hot at all - it's the 'we are in atomic section
and faulted' rare path (laced with an exception table search - which
is extremely slow compared to other bits of the pagefault path).

But ... it's not an issue: a check can be made in the NMI code too,
as we always know about pagefaults there, by virtue of getting
-EFAULT back from the attempted-user-copy.

Ingo