Messages in this thread | | | Date | Wed, 5 Mar 2014 14:02:24 +0100 | From | Peter Zijlstra <> | Subject | Re: [tip:x86/urgent] x86, trace: Fix CR2 corruption when tracing page faults |
| |
On Wed, Mar 05, 2014 at 01:54:21PM +0100, Peter Zijlstra wrote: > On Wed, Mar 05, 2014 at 07:33:44AM -0500, Steven Rostedt wrote: > > Then we better make sure that __do_page_fault() is never inlined. > > Otherwise, it wont be available to trace. > > > > I'm fine with adding "notrace" to do_page_fault() and to > > trace_do_page_fault() as long as we also include a "noinline" to > > __do_page_fault(). Would need a comment stating why that noinline is > > there though. > > When CONFIG_TRACING there's two callers, which makes it highly unlikely > GCC would inline the massive __do_page_fault() function, but sure. > > How about something like so then; still has the normal_do_page_fault() > thing, although I suppose we could drop that. > > It also puts trace_page_fault_entries() and trace_do_page_fault() under > CONFIG_TRACING. I could only find the entry_32.S user; I suppose the > 64bit one is hidden by CPP goo somewhere?
> +trace_errorentry page_fault normal_do_page_fault
ah found it; its in there. That also means the normal_do_page_fault() thing won't actually compile proper.
Lemme do one with that.
| |