Messages in this thread | | | Date | Tue, 26 May 2015 14:51:28 +0200 | From | Daniel Wagner <> | Subject | Re: lockdep warning: threadirqs and preemptoff tracer |
| |
On 05/26/2015 02:32 PM, Steven Rostedt wrote: > Daniel Wagner <daniel.wagner@bmw-carit.de> wrote: >> On 05/20/2015 10:46 AM, Daniel Wagner wrote: >> I starred for a while at the code and saw the comment in >> __local_bh_disable_ip(): >> >> /* >> * The preempt tracer hooks into preempt_count_add and will break >> * lockdep because it calls back into lockdep after SOFTIRQ_OFFSET >> * is set and before current->softirq_enabled is cleared. >> * We must manually increment preempt_count here and manually >> * call the trace_preempt_off later. >> */ >> >> >From this I figured this might be the same problem just in the >> enable path. The below patch made the lockdep warning disappear. >> Though I am not sure what I breaking with this. > > Don't you want to modify __local_bh_enable_ip()?
__do_softirq() calls __local_bh_disable_ip() and __local_bh_enable() and not __local_bh_enable_ip(). I have no clue why this is done this way. Need to look into the history.
| |