Messages in this thread | | | Date | Tue, 2 Jun 2015 21:37:58 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [PATCH v0] softirq: Call trace_preempt_on manually to prevent lockdep splatter |
| |
On Thu, 28 May 2015, Daniel Wagner wrote:
> __do_softirq() uses __local_bh_disable_ip(SOFTIRQ_OFFSET) to disable > SOFTIRQs and signaling that softirqs are served. > > When done, __do_softirq() calls __local_bh_enable(SOFTIRQ_OFFSET) > to enable them again. The reason it does not call > __local_bh_enable_ip(SOFTIRQ_OFFSET) is because __local_bh_enable_ip() > would process still-pending softirqs. > > Now, we face the same problem as in __local_bh_disable_ip() > with the preempt tracer hooking into preempt_count_sub(). This > will case lockdep warning, when for example the kernel is configured > to run all IRQs as threads and preemptoff tracer is activated:
....
> Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
| |