• Steven Rostedt's avatar
    tracing: use recursive counter over irq level · aa18efb2
    Steven Rostedt authored
    Althought using the irq level (hardirq_count, softirq_count and in_nmi)
    was nice to detect bad recursion right away, but since the counters are
    not atomically updated with respect to the interrupts, the function tracer
    might trigger the test from an interrupt handler before the hardirq_count
    is updated. This will trigger a false warning.
    
    This patch converts the recursive detection to a simple counter.
    If the depth is greater than 16 then the recursive detection will trigger.
    16 is more than enough for any nested interrupts.
    
    [ Impact: fix false positive trace recursion detection ]
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    aa18efb2
ring_buffer.c 75.2 KB