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

