Messages in this thread | | | Subject | Re: [PATCH v3] kernel: sched: fix preempt_disable_ip recodring for preempt_disable() | From | Sebastian Andrzej Siewior <> | Date | Thu, 3 Mar 2016 13:51:41 +0100 |
| |
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
| |