Re: [PATCH v3] kernel: sched: fix preempt_disable_ip recodring for preempt_disable()

2016-03-03 Thread Sebastian Andrzej Siewior
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(CAL

Re: [PATCH v3] kernel: sched: fix preempt_disable_ip recodring for preempt_disable()

2016-02-26 Thread Daniel Bristot de Oliveira
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 par

[PATCH v3] kernel: sched: fix preempt_disable_ip recodring for preempt_disable()

2016-02-26 Thread Sebastian Andrzej Siewior
The preempt_disable() invokes preempt_count_add() which saves the caller in ->preempt_disable_ip. It uses CALLER_ADDR1 which does not look for its caller but for the parent of the caller. Which means we get the correct caller for something like spin_lock() unless the architectures inlines those inv