[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Thu, 3 Mar 2016 13:51:41 +0100
From: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
To: Daniel Bristot de Oliveira <bristot@...hat.com>,
Steven Rostedt <rostedt@...dmis.org>
Cc: Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3] kernel: sched: fix preempt_disable_ip recodring for
preempt_disable()
On 02/26/2016 08:11 PM, Daniel Bristot de Oliveira wrote:
>
>
> On 02/26/2016 10:54 AM, Sebastian Andrzej Siewior wrote:
>> - trace_preempt_off(CALLER_ADDR0, get_parent_ip(CALLER_ADDR1));
>> + trace_preempt_off(CALLER_ADDR0, get_lock_parent_ip());
>
> If !lock_functions(CALLER_ADDR0), the start/stop_critical_timing() will
> be called with parent_ip == ip.
>
> Hence, the following trace on start_critical_timing():
>
> __trace_function(tr, ip, parent_ip, flags, preempt_count());
>
> Will show the function calling itself.
>
> Is it a problem? am I missing something?
It might be that for !lock_functions() we get the same caller. But then
get_parent_ip() was not inlined (in my .o file) so ADDR1 in
get_parent_ip() should correspond to ADDR0 in the inline case.
> -- Daniel
Sebastian
Powered by blists - more mailing lists