[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140305130224.GQ3104@twins.programming.kicks-ass.net>
Date: Wed, 5 Mar 2014 14:02:24 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: mingo@...nel.org, hpa@...or.com, paulus@...ba.org,
linux-kernel@...r.kernel.org, acme@...stprotocols.net,
seiji.aguchi@....com, jolsa@...hat.com, vincent.weaver@...ne.edu,
tglx@...utronix.de, hpa@...ux.intel.com,
linux-tip-commits@...r.kernel.org
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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists