On Fri, Jun 21, 2013 at 02:51:07PM +0200, Sebastian Andrzej Siewior wrote:
On 06/21/2013 01:08 PM, Chris Wilson wrote:
On Fri, Jun 21, 2013 at 12:15:53PM +0200, Sebastian Andrzej Siewior wrote:
There is a report on RT about "BUG: scheduling while atomic" because the sleeping lock is taken in tracing context. This patch simply moves locking operation out of the tracing macro.
No. This enables the IRQ, as well as making a number of very expensively serialised read, unconditionally.
Ach in case CONFIG_TRACING is enabled but the tracepoint itself is disabled. In that case it is probably best to drop this tracepoint from -RT.
Iirc when we've last discussed this with Thomas Gleixner he mentioned that there's a setup/teardown hook when enabling/disabling a tracepoint. We could use that to enable/disable interrupts. Needs a notch of logic rework though since the auto-irq disable code needs adjusting ... And on a 2nd look that trace_irq_seqno logic looks a bit broken anyway.
It's somewhere on my todo list, but patches very much welcome. -Daniel